Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα"

Transcript

1 Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 3: Δένδρα Αν. Καθηγητής Κ. Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

4 Περιεχόμενα Εισαγωγή στα Δέντρα και βασικός ορισμός δέντρου. Εναλλακτικοί Ορισμοί. Δέντρα με ρίζα. Δυαδικά και m-αδικά δέντρα Βασικές έννοιες και ιδιότητες. Διάσχιση δέντρων. Post-order, pre-order, in-order, κατά πλάτος. Δυαδικά δέντρα αναζήτησης. Βασικές λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή). Ελάχιστα επικαλύπτοντα δέντρα. Οι αλγόριθμοι των Prim και Kruskal. 4

5 Στόχοι Εισαγωγή στη μελέτη δέντρων ως σημαντικότατης ειδικής κατηγορίας γραφημάτων. Εξοικείωση με την ορολογία των δέντρων και με τις κατηγοριοποιήσεις τους. Μελέτη ορισμένων βασικών προβλημάτων σε δέντρα, όπως η διάσχιση ενός δέντρου, η αναζήτηση/εισαγωγή/διαγραφή κόμβων σε δυαδικά δέντρα αναζήτησης, και η εύρεση ελάχιστου επικαλύπτοντος δέντρου σε εμβαρημένο γράφημα (με τους αλγορίθμους των Prim και Kruskal). 5

6 Δένδρα (1/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Τα δένδρα παίζουν κεντρικό ρόλο στην επιστήμη των υπολογιστών: Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής). Δομές δεδομένων (π.χ. δένδρα αναζήτησης). Κατηγορίες (αύξουσα σειρά γενικότητας): Δυαδικά και m-αδικά δένδρα Διατεταγμένα δένδρα. Δένδρα με ρίζα. Ελεύθερα δένδρα. 6

7 Δένδρα (2/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Τα δένδρα παίζουν κεντρικό ρόλο στην επιστήμη των υπολογιστών: Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής). Δομές δεδομένων (π.χ. δένδρα αναζήτησης). Κατηγορίες (αύξουσα σειρά γενικότητας): Δυαδικά και m-αδικά δένδρα Διατεταγμένα δένδρα. Δένδρα με ρίζα. Ελεύθερα δένδρα. εσωτερικός κόμβος (ή κόμβος διακλάδωσης) φύλλο (ή τερματικός κόμβος ή εξωτερικός κόμβος) 7

8 Δένδρα (3/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Δάσος: Συλλογή από διαζευγμένα δένδρα (άκυκλο γράφημα). 8

9 Δένδρα (4/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Έστω το πλήθος των κορυφών και το πλήθος των ακμών Ιδιότητες 1. Υπάρχει μοναδικό μονοπάτι μεταξύ κάθε δύο κορυφών Εαν τότε υπάρχουν τουλάχιστον 2 φύλλα 9

10 Δένδρα (5/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Έστω το πλήθος των κορυφών και το πλήθος των ακμών Ιδιότητες 1. Υπάρχει μοναδικό μονοπάτι μεταξύ κάθε δύο κορυφών Απόδειξη Έστω ότι υπάρχουν 2 μονοπάτια μεταξύ των κορυφών και πρώτος κόμβος στον οποίο συγκλίνουν τα δύο μονοπάτια πρώτος κόμβος στον οποίο αποκλίνουν τα δύο μονοπάτια υπάρχει (στοιχειώδες) κύκλωμα 10

11 Δένδρα (6/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Έστω το πλήθος των κορυφών και το πλήθος των ακμών Ιδιότητες 1. Υπάρχει μοναδικό μονοπάτι μεταξύ κάθε δύο κορυφών 2. Απόδειξη Επαγωγικά ως προς. Προφανώς ισχύει για Υποθέτουμε ότι ισχύει για κάθε δένδρο με λιγότερες από Θεωρούμε δένδρο με κορυφές. Αφαιρώντας μία ακμή λαμβάνουμε δάσος με 2 δένδρα. κορυφές. 11

12 Δένδρα (7/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Έστω το πλήθος των κορυφών και το πλήθος των ακμών Ιδιότητες 1. Υπάρχει μοναδικό μονοπάτι μεταξύ κάθε δύο κορυφών 2. Απόδειξη Επαγωγικά ως προς. Προφανώς ισχύει για Υποθέτουμε ότι ισχύει για κάθε δένδρο με λιγότερες από κορυφές. Θεωρούμε δένδρο με κορυφές. Αφαιρώντας μία ακμή λαμβάνουμε δάσος με 2 δένδρα. Έστω ότι το ένα έχει κορυφές και ακμές και το άλλο κορυφές και ακμές. Τότε και Προσθέτωντας τις δύο ισότητες λαμβάνουμε 12

13 Δένδρα (8/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Έστω το πλήθος των κορυφών και το πλήθος των ακμών Ιδιότητες Απόδειξη 1. Υπάρχει μοναδικό μονοπάτι μεταξύ κάθε δύο κορυφών Εαν τότε υπάρχουν τουλάχιστον 2 φύλλα Σε οποιοδήποτε γράφημα το άθροισμα των βαθμών όλων των κορυφών του είναι ίσο με. Επομένως αν υπάρχει το πολύ μία κορυφή με βαθμό 1 τότε. Αν το γράφημα είναι δένδρο τότε από την ιδιότητα 2 έχουμε που προφανώς είναι άτοπο για αφού 13

14 Δένδρα (9/14) Δένδρο: Συνεκτικό (μη κατευθυνόμενο) άκυκλο γράφημα. Λήμμα: Ένα γράφημα στο οποίο υπάρχει μοναδικό μονοπάτι μεταξύ δύο οποιονδήποτε κορυφών είναι δένδρο. Απόδειξη: Συνεπάγεται ότι το γράφημα είναι συνεκτικό και άκυκλο άρα είναι δένδρο. 14

15 Δένδρα (10/14) Ικανές συνθήκες για να είναι δένδρο ένα γράφημα. Λήμμα Ένα συνεκτικό γράφημα στο οποίο είναι δένδρο. Απόδειξη Υποθέτουμε ότι το γράφημα έχει ένα στοιχειώδες κύκλωμα με κορυφές και επομένως και ακμές. Αφού το γράφημα είναι συνεκτικό πρέπει να έχει τουλάχιστον έτσι ώστε οι κορυφές που δεν ανήκουν στο να συνδέονται με τις κορυφές του. ακμές Επομένως υπάρχουν τουλάχιστον ακμές, που είναι άτοπο. 15

16 Δένδρα (11/14) Ικανές συνθήκες για να είναι δένδρο ένα γράφημα. Λήμμα Ένα γράφημα με που δεν περιέχει κύκλωμα είναι δένδρο. Απόδειξη Από το προηγούμενο λήμμα αρκεί να δείξουμε ότι το γράφημα είναι συνεκτικό. Έστω οι συνεκτικές συνιστώσες του γραφήματος όπου η συνιστώσα έχει κορυφές και ακμές. Αφού το γράφημα δεν περιέχει κύκλωμα κάθε είναι συνεκτικό και άκυκλο άρα είναι δένδρο και επομένως ισχύει. Αθροίζοντας έχουμε και από την υπόθεση του λήμματος προκύπτει. 16

17 Δένδρα (12/14) Δένδρα με ρίζες. Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. 17

18 Δένδρα (13/14) Δένδρα με ρίζες. Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. ρίζα 18

19 Δένδρα (14/14) Δένδρα με ρίζες. Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. ρίζα ρίζα 19

20 Δέντρα με Ρίζα Από ένα δέντρο χωρίς ρίζα με n κόμβους μπορούμε να πάρουμε n δέντρα με ρίζα. ρίζα Ίδιο δέντρο με διαφορά στην επιλογή ρίζας ρίζα 20

21 Δέντρα με Ρίζες (1/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Ο κόμβος είναι γονιός του κόμβου εάν υπάρχει η ακμή Επίσης λέμε ότι ο είναι παιδί του. Δύο κόμβοι είναι αδέλφια εάν έχουν τον ίδιο γονιό. Ο είναι πρόγονος του εάν υπάρχει μονοπάτι από τον στον. Επίσης λέμε ότι ο είναι απόγονος του. ρίζα 21

22 Δέντρα με Ρίζες (2/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. απλοποιημένη αναπαράσταση Μπορούμε να παραλείψουμε τις κατευθύνσεις των ακμών. 22

23 Δέντρα με Ρίζες (3/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Υποδένδρο του (υποδένδρο με ρίζα το ) Έχει κόμβους το και τους απογόνους του στο αρχικό δένδρο και περιλαμβάνει όλες τις ακμές του αρχικού δένδρου που συνδέουν κόμβους του υποδένδρου. 23

24 Δέντρα με Ρίζες (4/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Διατεταγμένο δένδρο: Δένδρο με ρίζα στο οποίο υπάρχει διάταξη των παιδιών κάθε κόμβου. Π.χ. = 1 ο παιδί του = 2 ο παιδί του = 3 ο παιδί του = 1 ο παιδί του = 2 ο παιδί του 24

25 Δέντρα με Ρίζες (5/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Διατεταγμένο δένδρο: Δένδρο με ρίζα στο οποίο υπάρχει διάταξη των παιδιών κάθε κόμβου. είναι διαφορετικά διατεταγμένα δένδρα 25

26 Δέντρα με Ρίζες (6/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Διατεταγμένο δένδρο: Δένδρο με ρίζα στο οποίο υπάρχει διάταξη των παιδιών κάθε κόμβου. m-αδικό δένδρο Διατεταγμένο δένδρο όπου κάθε κόμβος έχει το πολύ παιδιά. Π.χ. 26

27 Δέντρα με Ρίζες (7/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Διατεταγμένο δένδρο: Δένδρο με ρίζα στο οποίο υπάρχει διάταξη των παιδιών κάθε κόμβου. m-αδικό δένδρο Διατεταγμένο δένδρο όπου κάθε κόμβος έχει το πολύ παιδιά. Κανονικό m-αδικό δένδρο m-αδικό δένδρο όπου κάθε εσωτερικός κόμβος εχει ακριβώς παιδιά. Π.χ. 27

28 Δέντρα με Ρίζες (8/8) Κατευθυνόμενο δένδρο: Κατευθυνόμενο γράφημα που μετατρέπεται σε δένδρο αν αγνοήσουμε τις κατευθύνσεις των ακμών. Δένδρο με ρίζα: Κατευθυνόμενο δένδρο στο οποίο υπάρχει ένας κόμβος με βαθμό εισόδου 0 και όλοι οι υπόλοιποι κόμβοι έχουν βαθμό εισόδου 1. Διατεταγμένο δένδρο: Δένδρο με ρίζα στο οποίο υπάρχει διάταξη των παιδιών κάθε κόμβου. m-αδικό δένδρο Διατεταγμένο δένδρο όπου κάθε κόμβος έχει το πολύ παιδιά. Κανονικό m-αδικό δένδρο m-αδικό δένδρο όπου κάθε εσωτερικός κόμβος εχει ακριβώς παιδιά. Δυαδικό δένδρα Σημαντική κατηγορία m-αδικών δένδρων με. 28

29 Δυαδικό δένδρα (1/4) Δυαδικό δένδρα: Σημαντική κατηγορία m-αδικών δένδρων με. = αριστερό παιδί του = δεξί παιδί του Παράδειγμα: Αναπαράσταση αριθμητικών εκφράσεων 29

30 Δυαδικό δένδρα (2/4) Θεώρημα: Ένα δέντρο με ρίζα είναι δυαδικό αν και μόνο αν κάθε κόμβος εκτός από τη ρίζα έχει βαθμό, και η ρίζα έχει βαθμό. 30

31 Δυαδικό δένδρα (3/4) Θεωρούμε ένα κανονικό δυαδικό δένδρο με εσωτερικούς κόμβους και φύλλα Αφού κάθε εσωτερικός κόμβος έχει 2 παιδιά και η ρίζα δεν έχει γονέα τότε ισχύει 31

32 Δυαδικό δένδρα (4/4) Γενικά σε ένα κανονικό m-αδικό δένδρο με εσωτερικούς κόμβους και φύλλα έχουμε ότι κάθε εσωτερικός κόμβος έχει παιδιά και η ρίζα δεν έχει γονέα οπότε 32

33 Παράδειγμα (1/2) Παράδειγμα Έστω ότι έχουμε μία μηχανή που υπολογίζει το άθροισμα 3 αριθμών με μία εντολή. Πόσες εντολές πρέπει να εκτελέσει για να υπολογίσει το άθροισμα 9 αριθμών ; Κάθε ακολουθία εκτελέσεων αυτής της εντολής αντιστοιχεί σε κάποιο κανονικό 3-αδικό δένδρο όπου κάθε εσωτερικός κόμβος αναπαριστά μία πράξη πρόσθεσης 3 αριθμών και τα φύλλα αντιστοιχούν στους αριθμούς της εισόδου. Π.χ. Έχουμε άρα χρειαζόμαστε 4 πράξεις ανεξάρτητα από τη σειρά των προσθέσεων με την οποία υπολογίζεται το ολικό άθροισμα. 33

34 Παράδειγμα (2/2) Παράδειγμα Έστω ότι έχουμε μία μηχανή που υπολογίζει το άθροισμα 3 αριθμών με μία εντολή. Πόσες εντολές πρέπει να εκτελέσει για να υπολογίσει το άθροισμα 9 αριθμών ; Κάθε ακολουθία εκτελέσεων αυτής της εντολής αντιστοιχεί σε κάποιο κανονικό 3-αδικό δένδρο όπου κάθε εσωτερικός κόμβος αναπαριστά μία πράξη πρόσθεσης 3 αριθμών και τα φύλλα αντιστοιχούν στους αριθμούς της εισόδου. Ποίος τρόπος είναι προτιμότερος όταν μπορούμε να κάνουμε παράλληλους υπολογισμούς; 34

35 Ύψος δένδρου (1/18) Ύψος δένδρου Μέγιστο από τα μήκη μονοπατιών του δένδρου Στα δένδρα με ρίζα το ύψος αντιστοιχεί στο μέγιστο αριθμό ακμών από τη ρίζα προς κάποιο φύλλο ύψος = 5 35

36 Ύψος δένδρου (2/18) Ύψος δένδρου Μέγιστο από τα μήκη μονοπατιών του δένδρου Στα δένδρα με ρίζα το ύψος αντιστοιχεί στο μέγιστο αριθμό ακμών από τη ρίζα προς κάποιο φύλλο επίπεδο 0 επίπεδο 1 ύψος = 5 επίπεδο 2 επίπεδο 3 επίπεδο 4 επίπεδο 5 36

37 Ύψος δένδρου (3/18) Ύψος δένδρου Μέγιστο από τα μήκη μονοπατιών του δένδρου Στα δένδρα με ρίζα το ύψος αντιστοιχεί στο μέγιστο αριθμό ακμών από τη ρίζα προς κάποιο φύλλο Ένα κανονικό m-αδικό δένδρο με ύψος έχει αριθμό φύλλων όπου (m-1) φύλλα στα επίπεδα 1 έως h-1 και m φύλλα στο επίπεδο h όλα τα φύλλα στο τελευταίο επίπεδο 37

38 Ύψος δένδρου (4/18) Ύψος δένδρου Μέγιστο από τα μήκη μονοπατιών του δένδρου Στα δένδρα με ρίζα το ύψος αντιστοιχεί στο μέγιστο αριθμό ακμών από τη ρίζα προς κάποιο φύλλο Ένα κανονικό m-αδικό δένδρο με ύψος έχει αριθμό φύλλων όπου Επιπλέον για το πλήθος των εσωτερικών κόμβων Άρα το δένδρο έχει συνολικά ισχύει κόμβους και επομένως. Έτσι 38

39 Ύψος δένδρου (5/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο μήκος εσωτερικής διαδρομής = άθροισμα επιπέδου κάθε εσωτερικού κόμβου (=20) μήκος εξωτερικής διαδρομής = άθροισμα επιπέδου κάθε τερματικού κόμβου (=38) 5 Σε ένα κανονικό δυαδικό δένδρο ισχύει 39

40 Ύψος δένδρου (6/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο ξεκινάμε με ένα φύλλο σε κάθε βήμα 5 40

41 Ύψος δένδρου (7/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

42 Ύψος δένδρου (8/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

43 Ύψος δένδρου (9/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

44 Ύψος δένδρου (10/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

45 Ύψος δένδρου (11/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

46 Ύψος δένδρου (12/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

47 Ύψος δένδρου (13/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

48 Ύψος δένδρου (14/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

49 Ύψος δένδρου (15/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

50 Ύψος δένδρου (16/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο

51 Ύψος δένδρου (17/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο ξεκινάμε με ένα φύλλο σε κάθε βήμα Αντικατάσταση εσωτερικού κόμβου στο επίπεδο k: - μήκος εσωτερικής διαδρομής αυξάνει κατά k - μήκος εξωτερικής διαδρομής αυξάνει κατά k+2 Επομένως 51

52 Ύψος δένδρου (18/18) επίπεδο ρίζας = 0 επίπεδο κόμβου = επίπεδο γονέα + 1 ύψος δένδρου = μέγιστο επίπεδο μήκος εσωτερικής διαδρομής = άθροισμα επιπέδου κάθε εσωτερικού κόμβου (=7) μήκος εξωτερικής διαδρομής = άθροισμα επιπέδου κάθε τερματικού κόμβου (=29) Σε ένα κανονικό m-αδικό δένδρο ισχύει 52

53 Διάσχιση Δέντρου H διάσχιση (traversal) ενός δέντρου είναι η διαδικασία επίσκεψης όλων των κόμβων ενός δέντρου (αρχίζοντας από τη ρίζα). Βασική λειτουργία όταν π.χ. θέλουμε να βρούμε έναν κόμβο με κάποια συγκεκριμένα χαρακτηριστικά και να τυπώσουμε τα στοιχεία του. Υπάρχουν διάφοροι τρόποι διάσχισης ενός δέντρου (δηλ. διάφοροι τρόποι να προσδιοριστεί η σειρά εκτύπωσης των στοιχείων των κόμβων). depth first: pre-order, post-order, in-order. breadth first. 53

54 Διάσχιση Δέντρου - Παράδειγμα A B C D E F T2 T4 G H I J K L T1 T3 T5 54

55 Pre-order (προδιάταξη) Αλγόριθμος: 1. Επισκέψου τον τρέχοντα κόμβο. 2. Κάνε ένα pre-order traversal των υποδέντρων κάτω από αυτόν τον κόμβο από αριστερά προς δεξιά. Ο αλγόριθμος είναι αναδρομικός μια και τα υποδέντρα του τρέχοντος κόμβου έχουν κι αυτά υποδέντρα κ.ο.κ. περισσότερα για αναδρομικούς αλγόριθμους αργότερα. Η διάσχιση με προδιάταξη είναι ισοδύναμη με τη γνωστή κατά βάθος διάσχιση του δέντρου. 55

56 Pre-order (παράδειγμα) (1/5) Αρχίζουμε στη ρίζα A. Κόμβοι που επισκεφθήκαμε: A. Ο κόμβος A έχει 5 υποδέντρα. Αρχίζουμε με το πιο αριστερό T1. Η ρίζα του υποδέντρου T1 είναι ο κόμβος B, οπότε επισκεπτόμαστε τον B. Κόμβοι που επισκεφθήκαμε: A B. A B C D E F G H T2 T4 I J K L T1 T3 T5 56

57 Pre-order (παράδειγμα) (2/5) Ο B έχει δύο υποδέντρα που περιέχουν τους κόμβους G and H. Πρώτα επισκεπτόμαστε τον G γιατί είναι πιο αριστερά. Κόμβοι που επισκεφθήκαμε: A B G Ο G δεν έχει υποδέντρα, οπότε πηγαίνουμε στο δεξί υποδέντρο κάτω από το B που έχει τον κόμβο H. Κόμβοι που επισκεφθήκαμε: A B G H A B C D E F G H T2 T4 I J K L T1 T3 T5 57

58 Pre-order (παράδειγμα) (3/5) Ο H δεν έχει υποδέντρα. Τελειώσαμε με το υποδέντρο T1 κάτω από το A και τώρα προχωράμε στο υποδέντρο T2. Το T2 έχει μόνο έναν κόμβο, τον C. Επισκεπτόμαστε τον C. Κόμβοι που επισκεφθήκαμε: A B G H C Ο C δεν έχει υποδέντρα, οπότε τελειώσαμε με το υποδέντρο T2 και μετακινούμαστε στο υποδέντρο T3. A B C D E F G H T2 T4 I J K L T1 T3 T5 58

59 Pre-order (παράδειγμα) (4/5) Το pre-order traversal του T3 δίνει D και I. Κόμβοι που επισκεφθήκαμε: A B G H C D I Το pre-order traversal του υποδέντρου T4 δίνει E. Κόμβοι που επισκεφθήκαμε: A B G H C D I E A B C D E F G H T2 T4 I J K L T1 T3 T5 59

60 Pre-order (παράδειγμα) (5/5) Τέλος, κάνουμε ένα pre-order traversal του υποδέντρου T5 που δίνει F, J, K, L Κόμβοι που επισκεφθήκαμε: A B G H C D I E F J K L Τελειώσαμε με όλα τα υποδέντρα κάτω από τη ρίζα A και ο αλγόριθμος τερματίζει. A B C D E F G H T2 T4 I J K L T1 T3 T5 60

61 Post-order (μεταδιάταξη) Αλγόριθμος: 1. Κάνε ένα post-order traversal των υποδέντρων κάτω από τον τρέχοντα κόμβο από αριστερά προς τα δεξιά. 2. Επισκέψου τον τρέχοντα κόμβο. Παρόμοια με την pre-order traversal. Μόνο που η σειρά επίσκεψης του τρέχοντος κόμβου και των υποδέντρων του είναι αντίστροφη. 61

62 Post-order (παράδειγμα) (1/6) Θα κάνουμε post-order διάσχιση του παρακάτω δέντρου. A B C D E F G H I J K L 62

63 Post-order (παράδειγμα) (2/6) Πρώτα κάνουμε post-order διάσχιση του πιο αριστερού υποδέντρου της ρίζας A. Κόμβοι που επισκεφθήκαμε: - Ο κόμβος Β έχει 2 υποδέντρα. Κάνουμε post-order διάσχιση πιο αριστερού. Ο κόμβος G δεν έχει υποδέντρα, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: G B C D E F A T2 T4 G H I J K L T1 T3 T5 63

64 Post-order (παράδειγμα) (3/6) Κάνουμε τώρα post-order διάσχιση του δεξιού υποδέντρου του Β. Ο Η δεν έχει υποδέντρα, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: G H A B C D E F G H T2 T4 I J K L T1 T3 T5 64

65 Post-order (παράδειγμα) (4/6) Επισκεπτόμαστε τώρα τον Β. Κόμβοι που επισκεφθήκαμε: G H Β Κάνουμε τώρα post-order διάσχιση του επόμενου υποδέντρου του Α. Το C δεν έχει υποδέντρα. Επισκεπτόμαστε τον C Κόμβοι που επισκεφθήκαμε: G H Β C A B C D E F G H T2 T4 I J K L T1 T3 T5 65

66 Post-order (παράδειγμα) (5/6) Κάνουμε τώρα post-order διάσχιση του επόμενου υποδέντρου του Α. Το post-order traversal του T3 δίνει I και D. Κόμβοι που επισκεφθήκαμε: G H Β C I D Το post-order traversal του υποδέντρου T4 δίνει E Κόμβοι που επισκεφθήκαμε: G H Β C I D E B C D E F A T2 T4 G H I J K L T1 T3 T5 66

67 Post-order (παράδειγμα) (6/6) Τέλος, κάνουμε ένα post-order traversal του υποδέντρου T5 που δίνει J, K, L, F Κόμβοι που επισκεφθήκαμε: G H B C I D E J K L F A Τελειώσαμε και με τη ρίζα A και ο αλγόριθμος τερματίζει. A B C D E F G H T2 T4 I J K L T1 T3 T5 67

68 In-order (ενδοδιάταξη) Αλγόριθμος: 1. Κάνε ένα in-order traversal του αριστερού υποδέντρου κάτω από τον τρέχοντα κόμβο. 2. Επισκέψου τον τρέχοντα κόμβο. 3. Κάνε ένα in-order traversal του δεξιού υποδέντρου κάτω από τον τρέχοντα κόμβο. Ο αλγόριθμος in-order εφαρμόζεται μόνο σε δυαδικά δέντρα! 68

69 In-order (παράδειγμα) (1/7) Θα κάνουμε in-order διάσχιση στο παρακάτω δέντρο: A B C G E F H I J K 69

70 In-order (παράδειγμα) (2/7) Πρώτα κάνουμε in-order διάσχιση του αριστερού υποδέντρου της ρίζας A. Κόμβοι που επισκεφθήκαμε: - Κάνουμε in-order διάσχιση του αριστερού υποδέντρου του Β. Κάνουμε in-order διάσχιση του αριστερού υποδέντρου του Ε. A B C G E F H I J K 70

71 In-order (παράδειγμα) (3/7) Ο Η δεν έχει υποδέντρα, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: H Επισκεπτόμαστε τώρα τον κόμβο Ε. Κόμβοι που επισκεφθήκαμε: Η Ε Κάνουμε in-order διάσχιση του δεξιού υποδέντρου του Ε. A E B F C G H I J K 71

72 In-order (παράδειγμα) (4/7) Ο Ι δεν έχει υποδέντρα, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: H Ε Ι Επισκεπτόμαστε τώρα τον κόμβο Β. Κόμβοι που επισκεφθήκαμε: H Ε Ι Β Κάνουμε in-order διάσχιση του δεξιού υποδέντρου του Β. A E B F C G H I J K 72

73 In-order (παράδειγμα) (5/7) Ο F δεν έχει υποδέντρα, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: H Ε Ι Β F Επισκεπτόμαστε τώρα τον κόμβο A. Κόμβοι που επισκεφθήκαμε: H Ε Ι Β F A A B C G E F H I J K 73

74 In-order (παράδειγμα) (6/7) Τώρα κάνουμε in-order διάσχιση του δεξιού υποδέντρου της ρίζας A. Ο κόμβος C δεν έχει δεξιό υποδέντρο, οπότε τον επισκεπτόμαστε. Κόμβοι που επισκεφθήκαμε: H Ε Ι Β F A C A E B F C G H I J K 74

75 In-order (παράδειγμα) (7/7) Η in-order διάσχιση του αριστερού υποδέντρου του C δίνει J G K Κόμβοι που επισκεφθήκαμε: H Ε Ι Β F A C J G K Τελειώσαμε έχοντας επισκεφτεί όλους τους κόμβους. A B C G E F H I J K 75

76 Αναζήτηση Πρώτα κατά Πλάτος (Breadth-First Search) H Breadth-First Search (BFS) διασχίζει ένα συνδεδεμένο κομμάτι ενός γράφου. Η BFS σε ένα δέντρο G λειτουργεί ως εξής: Στον αρχικό κόμβο (ρίζα) s, δίνεται η απόσταση 0. Στην πρώτη επανάληψη, ο αλγόριθμος επισκέπτεται όλους τους κόμβους που είναι παιδιά του αρχικού. Σε αυτούς δίνεται απόσταση 1. Στη συνέχεια η BFS επισκέπτεται όλους τους κόμβους που απέχουν απόσταση 2 από τον αρχικό, κ.ο.κ. 76

77 Breadth First (κατά πλάτος) Η breadth-first διάσχιση του παρακάτω δέντρου δίνει: Α Β C D E F G H I J K L A B C D E F G H I J K L 77

78 Δυαδικό δένδρο αναζήτησης (Binary Search Tree BST) Χρησιμοποιούνται για την αναπαράσταση ενός συνόλου αντικειμένων τα οποία είναι ολικά διατεταγμένα με βάση κάποιο κλειδί. Τα κλειδιά ανήκουν σε ένα ολικά διατεταγμένο σύνολο (π.χ. ακέραιοι αριθμοί). Θέλουμε μια δομή που να επιτρέπει τη γρήγορη αναζήτηση ενός αντικειμένου όταν δίνεται το κλειδί του αντικειμένου. Για το σκοπό αυτό μπορούμε να χρησιμοποιήσουμε ένα δυαδικό δένδρο όπου τα κλειδιά αποθηκεύονται στους κόμβους του δένδρου. 78

79 Δυαδικό δένδρο αναζήτησης (1/11) Έστω ότι έχουμε κλειδιά όπου. Κάθε κλειδί αποθηκεύεται σε ένα εσωτερικό κόμβο και ένα φύλλο. Επιπλέον στο αριστερότερο φύλλο μπορεί να αποθηκεύουμε ένα κλειδί. Π.χ. για τα κλειδιά 3,5,7,12 και 23 μπορούμε να έχουμε το δένδρο: 5 Αν ένας εσωτερικός κόμβος έχει κλειδι το αριστερό υποδένδρο του έχει κλειδιά και το δεξί υποδένδρο του έχει κλειδιά BST ιδιότητα τότε Η αναζήτηση ενός κλειδιού ξεκινάει από τη ρίζα και κατευθύνεται προς τα κάτω

80 Δυαδικό δένδρο αναζήτησης (2/11) Αναζήτηση x=12 12>

81 Δυαδικό δένδρο αναζήτησης (3/11) Αναζήτηση x= <

82 Δυαδικό δένδρο αναζήτησης (4/11) Αναζήτηση x= >

83 Δυαδικό δένδρο αναζήτησης (5/11) Αναζήτηση x= = βρέθηκε

84 Δυαδικό δένδρο αναζήτησης (6/11) Αναζήτηση x=15 15>

85 Δυαδικό δένδρο αναζήτησης (7/11) Αναζήτηση x= <

86 Δυαδικό δένδρο αναζήτησης (8/11) Αναζήτηση x= >

87 Δυαδικό δένδρο αναζήτησης (9/11) Αναζήτηση x= >

88 Δυαδικό δένδρο αναζήτησης (10/11) Αναζήτηση x= >12 Όταν η αναζήτηση του καταλήγει σε φύλλο με κλειδι τότε 7 12 δε βρέθηκε 88

89 Δυαδικό δένδρο αναζήτησης (11/11) Υπάρχουν διάφορετικά δυαδικά δένδρα αναζήτησης για δεδομένο σύνολο κλειδιών Ποιό είναι καλύτερο; 3 89

90 Βασική Δομή Δεδομένων Δέντρου Αναζήτησης (1/2) Η βασική δομή δεδομένων σε ένα BST είναι ένας κόμβος που ονομάζουμε BinaryNode. Αντίθετα με τα γενικά δέντρα όπου το πλήθος των παιδιών κάθε κόμβου δεν είναι γνωστό στατικά, ένας BST κόμβος μπορεί να έχει το πολύ δύο παιδιά. Οπότε, είναι λογικό να χρησιμοποιήσουμε δύο δείκτες lchild (left-child) και rchild (right-child). Υποθέτουμε ότι οι δείκτες των φύλλων είναι NULL. 90

91 Βασική Δομή Δεδομένων Δέντρου Αναζήτησης (2/2) class BinaryNode { private: int key; // the integer key BinaryNode *lchild; // pointer to left child BinaryNode *rchild; // pointer to right child public: // public methods go here } 91

92 Λειτουργίες σε Δέντρα Αναζήτησης Οι βασικές λειτουργίες σε ένα BST είναι: findmin: βρες το ελάχιστο κλειδί μέσα στο BST. findmax: βρες το μέγιστο κλειδί μέσα στο BST. find(x): βρες το κλειδί x μέσα στο BST. insert(x): εισήγαγε το κλειδί x μέσα στο BST. remove(x): διέγραψε το κλειδί x από το BST. isempty: δες αν το BST είναι άδειο. makeempty: άδειασε το BST. printtree: τύπωσε όλα τα κλειδιά στο BST. 92

93 findmin (1/2) Σε ένα δέντρο όλες οι διασχίσεις αρχίζουν από τη ρίζα. Σύμφωνα με την BST ιδιότητα, το κλειδί του lchild της ρίζας θα είναι < του κλειδιού της ρίζας. Το κλειδί του lchild του lchild της ρίζας θα είναι < του κλειδιού του lchild της ρίζας κ.ο.κ. Αν μια διάσχιση ενός BST αρχίσει στη ρίζα και «πηγαίνει συνέχεια αριστερά» καθώς κατεβαίνει προς τα κάτω, ο τελευταίος κόμβος στη διάσχιση θα έχει το μικρότερο κλειδί στο δέντρο. 93

94 findmin (2/2) Η παράμετρος εισόδου στη findmin μέθοδο είναι η ρίζα του BST. findmin(root); Η findmin μέθοδος επιστρέφει τον κόμβο που περιέχει το μικρότερο κλειδί στο BST. Έτσι, ο τύπος που επιστρέφει η findmin είναι BinaryNode*. 94

95 findmin Algorithm Βήματα αλγορίθμου: Ξεκίνα από τη ρίζα. Αν η ρίζα είναι NULL (άδειο BST) επέστρεψε NULL. Σε κάθε κόμβο πήγαινε στο lchild. Ολοκλήρωσε τη διάσχιση όταν συναντηθεί ο πρώτος NULL δείκτης. Επέστρεψε τον τελευταίο κόμβο που επισκέφτηκες. Ο αλγόριθμος μπορεί να υλοποιηθεί αναδρομικά ή μηαναδρομικά. 95

96 findmin Algorithm (χωρίς αναδρομή) // Non-recursive algorithm BinaryNode* findmin(binarynode *t) begin // έλεγξε αν το δέντρο είναι άδειο if (t!=null) begin // προχώρα κάτω προς το lchild σε κάθε κόμβο while (t->lchild!=null) t = t->lchild; end return t; end 96

97 findmin - Παράδειγμα

98 findmax Βήματα αλγορίθμου: Ξεκίνα από τη ρίζα. Αν η ρίζα είναι NULL (άδειο BST) επέστρεψε NULL. Σε κάθε κόμβο πήγαινε στο rchild. Ολοκλήρωσε τη διάσχιση όταν συναντηθεί ο πρώτος NULL δείκτης. Επέστρεψε τον τελευταίο κόμβο που επισκέφτηκες. Η παράμετρος εισόδου στη findmax και ο τύπος που επιστρέφει είναι ίδια με τη findmin. 98

99 findmax Algorithm (χωρίς αναδρομή) // Non-recursive algorithm BinaryNode* findmax(binarynode *t) begin // έλεγξε αν το δέντρο είναι άδειο if (t!=null) begin // προχώρα κάτω προς το rchild σε κάθε κόμβο while (t->rchild!=null) t = t->rchild; end return t; end 99

100 findmax - Παράδειγμα

101 find (1/2) Ο αλγόριθμος find είναι συνδυασμός των τεχνικών της findmin και της findmax. Η διαφορά μεταξύ του find και των findmin/findmax: Οι findmin/findmax εγγυώνται ότι θα επιστρέψουν έναν κόμβο όταν το BST δεν είναι άδειο. Από την άλλη, ο αλγόριθμος find επιστρέφει έναν κόμβο μόνο όταν το ζητούμενο κλειδί x βρεθεί μέσα στο BST. 101

102 find (2/2) Οι παράμετροι εισόδου είναι η ρίζα του BST και το κλειδί προς αναζήτηση: int x find(x, root); Η μέθοδος find επιστρέφει τον κόμβο στο BST που περιέχει το κλειδί x αν υπάρχει, και NULL αν δεν υπάρχει. Ο τύπος που επιστρέφει είναι πάλι BinaryNode*. 102

103 find Algorithm // Non-recursive algorithm BinaryNode* findmax(binarynode *t, key x) begin // έλεγξε αν το δέντρο είναι άδειο if (t!=null) begin while (t!=null && x!=t->key) begin if (x < t -> key) t = t->lchild; else if (x > t -> key) t = t->rchild; end end return t; end 103

104 find - Παράδειγμα Εύρεση του κλειδιού 12 Εύρεση του κλειδιού

105 Insert (1/4) Εισαγωγή του κλειδιού

106 Insert Παράδειγμα (εισαγωγή του 5) Ξεκινάμε από τη ρίζα που περιέχει το κλειδί 9. 5 < 9, πηγαίνουμε στο lchild του 9 που είναι το 7. 5 < 7, πηγαίνουμε στο lchild του 7 που είναι το 4. 5 > 4, πηγαίνουμε στο rchild του 4 που είναι το NULL. Δεν υπάρχει άλλο σημείο στο BST που μπορεί να περιέχει το 5 λόγω της BST ιδιότητας. Οπότε, εισάγουμε το 5 ως το rchild του

107 Insert (2/4) Υποθέτοντας ότι διπλά κλειδιά δεν υπάρχουν σε ένα BST. Αν θέλουμε να εισάγουμε το κλειδί x, πρώτα κάνουμε ένα find(x). Αν το x βρεθεί, δεν κάνουμε την εισαγωγή. Αν το x δε βρεθεί, προχωράμε με την εισαγωγή. Αν το x δε βρεθεί, τότε η find τελειώνει στον κόμβο κάτω από τον οποίο πρέπει να μπει το x. 107

108 Insert (3/4) insert (5, root). Πρώτα προσπαθούμε να βρούμε αν το 5 είναι ήδη στο BST. find algorithm. 5 < 9 πηγαίνουμε στο lchild του 9 που είναι το 7. 5 < 7 πηγαίνουμε στο lchild του 7 που είναι το 4. 5 > 4 πηγαίνουμε στο rchild του 4 που είναι null και η find τερματίζει επιστρέφοντας NULL. Ο τελευταίος κόμβος που επισκεφτήκαμε ήταν ο 4. Το καινούργιο κλειδί 5 πρέπει να εισαχθεί κάτω από τον 4. Δημιουργούμε έναν καινούργιο κόμβο με κλειδί 5 και μια 5 > 4 προσθέτουμε τον καινούργιο κόμβο ως rchild του

109 Insert (4/4) Βήματα Αλγορίθμου: Τρέξε ένα find για το κλειδί που θέλουμε να εισαχθεί. Αν το κλειδί βρεθεί, επέστρεψε NULL. Αν το κλειδί δε βρεθεί, εισήγαγε έναν καινούργιο κόμβο που περιέχει το κλειδί ως αριστερό ή δεξιό παιδί του τελευταίου κόμβου που επισκέφτηκε η find. Παράδειγμα: Εισαγωγή των κλειδιών 6, 9, 14, 17, 5, 7, 16, 20, 18, 19, 4, 11 σε ένα κενό αρχικά δέντρο αναζήτησης. 109

110 remove Όπως στην περίπτωση του insert, πρέπει πρώτα να κάνουμε ένα find. Αν δε βρεθεί ο κόμβος, προφανώς δε μπορούμε να τον διαγράψουμε. Αν βρεθεί υπάρχουν 3 διαφορετικές περιπτώσεις ανάλογα με το είδος του κόμβου: κόμβοι χωρίς παιδιά (φύλλα), κόμβοι με ένα παιδί, κόμβοι με δύο παιδιά. 110

111 remove κανόνες (1/4) Κανόνες: 1) Αν ο κόμβος που θέλουμε να διαγράψουμε είναι φύλλο, τότε διαγράφεται κατευθείαν Μπορεί να διαγραφεί κατευθείαν

112 remove κανόνες (2/4) 2) Αν ο κόμβος που θέλουμε να διαγράψουμε έχει ένα παιδί, το παιδί αυτό γίνεται το καινούργιο παιδί του πατέρα του διαγραμμένου κόμβου. 21 διέγραψε το

113 remove κανόνες (3/4) 3) Αν ο κόμβος που θέλουμε να διαγράψουμε έχει δύο παιδιά. Αντικατέστησε τον κόμβο προς διαγραφή με τον κόμβο που περιέχει το ελάχιστο κλειδί στο δεξιό του υποδέντρο (χρησιμοποιώντας τη findmin στη ρίζα του δεξιού υποδέντρου του κόμβου προς διαγραφή). Ο κόμβος με το ελάχιστο κλειδί δε μπορεί να έχει lchild. Αν είχε τότε το lchild θα περιείχε το ελάχιστο κλεδί. Οπότε ο κόμβος με το ελάχιστο κλειδί έχει μόνο rchild ή καθόλου παιδιά. 113

114 remove κανόνες (4/4) 6 Αντικατέστησε το 2 με το διέγραψε το 2 Το 2 έχει 2 παιδιά. findmin στη ρίζα του δεξιού υποδέντρου του 2 δίνει 3 που έχει ένα rchild Αυτός ο κόμβος και οι σχετιζόμενοι δείκτες διαγράφονται 114

115 Επικαλύπτοντα Δέντρα (Spanning Trees) Ένα επικαλύπτον δέντρο ενός γραφήματος G είναι ένα υπογράφημα του G που είναι δέντρο, περιέχει όλους τους κόμβους του G. 115

116 Ελάχιστα Επικαλύπτοντα Δέντρα (1/2) Μη κατευθυνόμενο, συνδεδεμένο γράφημα G = (V,E). Συνάρτηση Βάρους W: E R (δίνει κάποιο κόστος ή άλλη τιμή στις ακμές). Επικαλύπτον δέντρο: δέντρο που συνδέει όλους τους κόμβους (στο παράδειγμα;). Ελάχιστο επικαλύπτον δέντρο: συνδέει όλους τους κόμβους και ελαχιστοποιεί: w( T) w( u, v) ( u, v) T 116

117 Ελάχιστα Επικαλύπτοντα Δέντρα (2/2) Παράδειγμα: Έστω κάποιες πόλεις που συνδέονται με χωματόδρομους. Η ασφαλτόστρωση κάθε δρόμου έχει κάποιο συγκεκριμένο χρηματικό κόστος. Θέλουμε να ασφαλτοστρώσουμε με το ελάχιστο κόστος ένα υποσύνολο των δρόμων έτσι ώστε να συνδέονται όλες οι πόλεις. δίκτυο χωματόδρομων γράφημα πόλεις κορυφές γραφήματος δρόμοι ακμές γραφήματος κόστος ασφαλτόστρωσης δρόμου βάρος ακμής Το ζητούμενο είναι να προσδιοριστεί ένα ελάχιστο επικαλύπτον δέντρο. 117

118 Ο Αλγόριθμος του Prim (1/2) Βασίζεται στους κόμβους. Χτίζει ένα δέντρο Τ, κόμβο με κόμβο. Οι κόμβοι του Τ που έχουν ήδη υπολογιστεί ανήκουν σε ένα σύνολο S. Σε κάθε κόμβο v που βρίσκεται εκτός συνόλου δώσε την τιμή key[v] = το ελάχιστο βάρος μιας ακμής που συνδέει το v με έναν κόμβο μέσα στο σύνολο S. key[v] =, αν δεν υπάρχει τέτοιος κόμβος Πρόσθεσε στο S τον κόμβο με την ελάχιστη τιμή του key. Ο αλγόριθμος τελειώνει όταν όλοι οι κόμβοι ανήκουν στο S. 118

119 Ο Αλγόριθμος του Prim (2/2) MST-Prim(G,w,r) 01 Q := V[G] 02 for each u Q do 03 key[u] : 04 key[r] : 0 05 p[r] : NIL 06 while Q do 07 u : ExtractMin(Q) 08 for each v Adj[u] do 09 if v Q and w(u,v) < key[v] then 10 p[v] := u 11 key[v] := w(u,v) updating keys 119

120 Ο Αλγόριθμος του Prim Παράδειγμα (1/3) 120

121 Ο Αλγόριθμος του Prim Παράδειγμα (2/3) 121

122 Ο Αλγόριθμος του Prim Παράδειγμα (3/3) 122

123 Ο αλγόριθμος του Kruskal (1/5) Βασίζεται στις ακμές. Προσθέτει τις ακμές μία μία, με αυξανόμενο βάρος. Πρέπει να είναι ταξινομημένες. Ο αλγόριθμος διατηρεί ένα δάσος από δέντρα Α. Αρχικά υπάρχουν μόνο κορυφές στο δάσος. Μια ακμή γίνεται δεκτή αν συνδέει κόμβους από διαφορετικά δέντρα. Ο αλγόριθμος χρησιμοποιεί δύο συναρτήσεις Find-Tree(u):βρίσκει το δέντρο στο οποίο ανήκει η κορυφή u. Union-Trees(u,v):ενώνει τα δέντρα στα οποία ανήκουν οι κορυφές u και v. 123

124 Ο αλγόριθμος του Kruskal (2/5) Ο αλγόριθμος προσθέτει τη φτηνότερη ακμή που συνδέει δύο δέντρα του δάσους έτσι ώστε να μην προκύπτει κύκλος. MST-Kruskal(G,w) 01 A 02 for each vertex v V[G] do 03 Make-Tree(v) 04 sort the edges of E by non-decreasing weight w 05 for each edge (u,v) E, in order by non-decreasing weight do 06 if Find-Tree(u) Find-Tree(v) then 07 A A {(u,v)} 08 Union-Trees(u,v) 09 return A 124

125 Ο αλγόριθμος του Kruskal (3/5) 125

126 Ο αλγόριθμος του Kruskal (4/5) 126

127 Ο αλγόριθμος του Kruskal (5/5) 127

128 Τέλος Ενότητας 128

129 Σημείωμα Αναφοράς Copyright, Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών, Στεργίου Κωνσταντίνος. «Διακριτά Μαθηματικά». Έκδοση: 1.0. Κοζάνη Διαθέσιμο από τη δικτυακή διεύθυνση: https: //eclass.uowm.gr/courses/icte257/ 129

130 Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Όχι Παράγωγα Έργα Μη Εμπορική Χρήση 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] h t t p ://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό 130

131 Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 131

Δομές Δεδομένων Ενότητα 6

Δομές Δεδομένων Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Γράφοι Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 2: Γραφήματα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6 η Άσκηση - DFS δένδρα Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 7: Σχέσεις και Συναρτήσεις

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 7: Σχέσεις και Συναρτήσεις Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 7: Σχέσεις και Συναρτήσεις Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Εισαγωγή στους Αλγορίθμους Ενότητα 7η Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

Διαβάστε περισσότερα

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Δένδρα Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών : Ανάλυση αλγορίθμων (π.χ. δένδρα αναδρομής) Δομές δεδομένων (π.χ. δένδρα αναζήτησης) ακμή Κατηγορίες (αύξουσα

Διαβάστε περισσότερα

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση - Συγχώνευση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών έντρα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής.

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης (ΔΔΑ) Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου Εισαγωγή στοιχείου

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Emil: zro@ei.uptrs.r Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία Παιδαγωγικό Τμήμα Νηπιαγωγών Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία Ενότητα # 9: Ψηφιακός Ήχος - Audacity Θαρρενός Μπράτιτσης Παιδαγωγικό Τμήμα Νηπιαγωγών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 5 η Άσκηση Συγχώνευση & απαρίθμηση Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskl Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Emil: zro@ei.uptrs.r Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 10η

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Εισαγωγή στους Αλγορίθμους Ενότητα 10η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 1: Σύνολα, Πραγματικοί αριθμοί Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 5: Όρια και Συνέχεια Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 5 η : Πίνακες (Προχωρημένα Θέματα) Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra Εισαγωγή στους Αλγορίθμους Ενότητα 1η Άσκηση Αλγόριθμος Dijkra Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upara.gr Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 10: Δυναμοσειρές Επίκουρος Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Κριτήρια Σύγκλισης Σειρών Λουκάς Βλάχος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Βασικές Προγραμματιστικές Δομές ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Δομή Ελέγχου Ροής (IF) Η εντολή IF χρησιμοποιείται όταν

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 4: Ψηφιακή Λογική, Άλγεβρα Boole, Πίνακες Αλήθειας (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 8: C++ ΒΙΒΛΙΟΗΚΗ STL, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Δομές Δεδομένων ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2) Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Άσκηση 1 Ενότητα : Υλοποίηση Λεξικών µε

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης

Διαβάστε περισσότερα

Μαθηματική Ανάλυση ΙI

Μαθηματική Ανάλυση ΙI Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση ΙI Ενότητα 3: Συναρτήσεις πολλών μεταβλητών Επίκουρος Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Περιήγηση Πανεπιστημίων 5/8/008 :46 AM Campus Tour Περίληψη και ανάγνωση

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 7η: Ουρές Προτεραιότητας Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 7 Ουρές Προτεραιότητας ΗΥ240 - Παναγιώτα Φατούρου 2 Ουρές

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 7: ΑΣΚΗΣΕΙΣ ΜΕΓΕΘΟΥΣ ΕΠΙΧΕΙΡΗΣΗΣ Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα

Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Μελανέρυθρα δεντρα v 3 8 z Red-Black Trees 1 Περιγραφή και Διαβασμα Από

Διαβάστε περισσότερα

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 3: Σειρές Πραγματικών Αριθμών Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 3: Μοντέλα βάσεων δεδομένων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 9: Άπληστοι Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Εισαγωγή στους Αλγορίθμους Ενότητα η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ ΜΕΤΑΒΑΤΙΚΑ ΦΑΙΝΟΜΕΝΑ ΣΤΑ ΣΗΕ Λαμπρίδης Δημήτρης Κατσανού Βάνα Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθμους

Εισαγωγή στους Αλγόριθμους Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Σκοποί ενότητας Παρουσίαση και μελέτη αλγορίθμων

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 4 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 3 3 η Άσκηση... 4 4 η Άσκηση... 5 5 η Άσκηση... 6 6 η Άσκηση... 7 Χρηματοδότηση... 8 Σημείωμα Αναφοράς... 9 Σημείωμα

Διαβάστε περισσότερα

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 (5.1-5.2 και 5.4-5.6) Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Δέντρα Βασικοί ορισµοί Μαθηµατικές ιδιότητες Διάσχιση δέντρων Preorder, postorder,

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Εισαγωγή στους Η/Υ Ενότητα 2β: Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Εύρεση συνάρτησης Boole όταν είναι γνωστός μόνο ο πίνακας αληθείας.

Διαβάστε περισσότερα

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 7: Βέλτιστος έλεγχος συστημάτων διακριτού χρόνου Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 2: Ακολουθίες Πραγματικών Αριθμών Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 10: Προσφορά και κόστος Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort) ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Ταχυταξινόμηση (Quick-Sort) 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 2

Δομές Δεδομένων Ενότητα 2 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 2: Θέματα Απόδοσης Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Εισαγωγή στον δομημένο προγραμματισμό

Εισαγωγή στον δομημένο προγραμματισμό Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στον δομημένο προγραμματισμό Ενότητα 12 η : Δυναμική Ανάθεση Θέσης Αν. καθηγητής Στεργίου Κώστας e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Μηχανολογικό Σχέδιο Ι

Μηχανολογικό Σχέδιο Ι ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Άτρακτοι και σφήνες Μ. Γρηγοριάδου Μηχανολόγων Μηχανικών Α.Π.Θ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Δομές Δεδομένων Ενότητα 5

Δομές Δεδομένων Ενότητα 5 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 5: Δυαδικά Δένδρα Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ Ενότητα 3: Νόμος του Ohm Κανόνες του Kirchhoff Αριστείδης Νικ. Παυλίδης Τμήμα Μηχανολόγων Μηχανικών και Βιομηχανικού Σχεδιασμού ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 11: Θεωρία Οργάνωσης & Διοίκησης Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Αριθμητικά Συστήματα ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Ένα Αριθμητικό Σύστημα αποτελείται από ένα

Διαβάστε περισσότερα

Τεχνολογία και Καινοτομία - Οικονομική Επιστήμη και Επιχειρηματικότητα

Τεχνολογία και Καινοτομία - Οικονομική Επιστήμη και Επιχειρηματικότητα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Τεχνολογία και Καινοτομία - Οικονομική Επιστήμη και Επιχειρηματικότητα Ενότητα: Επενδύσεις και χρηματοδότηση Αν. Καθηγητής Μπακούρος Ιωάννης e-mail: ylb@uowm.gr,

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Prim-Kruskal Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Prim-Kruskal

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)

Διαβάστε περισσότερα

Ευφυής Προγραμματισμός

Ευφυής Προγραμματισμός Ευφυής Προγραμματισμός Ενότητα 6: Προβλήματα ΤΝ και Lisp Ιωάννης Χατζηλυγερούδης Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Περιεχόμενα ενότητας Προβλήματα ΤΝ και Lisp 1. Αναζήτηση και Στρατηγικές

Διαβάστε περισσότερα

Θέματα υπολογισμού στον πολιτισμό

Θέματα υπολογισμού στον πολιτισμό Θέματα υπολογισμού στον πολιτισμό Ενότητα 3: Απεικόνιση δεδομένων: Δένδρα Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Σκοποί

Διαβάστε περισσότερα

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Ανοικτά Ακαδημαϊκά Μαθήματα Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αθήνας Πίνακες Νερού σε κατάσταση Κορεσμού Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής Διπλ. Ναυπηγός Μηχανολόγος Μηχανικός M.Sc. Διασφάλιση

Διαβάστε περισσότερα

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογισμός 3. Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 19: Θεώρημα Πεπλεγμένων (γενική μορφή) Μιχ. Γ. Μαριάς Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Μαθηματική Ανάλυση Ι

Μαθηματική Ανάλυση Ι Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Μαθηματική Ανάλυση Ι Ενότητα 4: Συναρτήσεις Επίκ. Καθηγητής Θ. Ζυγκιρίδης e-mail: tzygiridis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 6: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ: ΠΡΟΒΛΗΜΑ ΑΝΑΖΗΤΗΣΗΣ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος

Διαβάστε περισσότερα