ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

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

Download "ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ"

Transcript

1 ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

2 ενδρικές οµές για Υλοποίηση υναµικών Λεξικών υναµικά λεξικά λειτουργίες LookUp( ), Insert( ) και Delete( ) Αναζητούµε δένδρα για την αποτελεσµατική υλοποίηση δυναµικών λεξικών δηλ., να υποστηρίζουν τις λειτουργίες LookUp(), Insert() και Delete() σε χρόνο O(logn). Θα δούµε δένδρα AVL κοκκινό-µαυρα δένδρα 2-3 δένδρα, Β-δένδρα splay (αρθρωτά) δένδρα (επίσης, εξαρθρωµένα) Γενικά: δένδρα ισοζυγισµένα καθ ύψος δένδρα ισοζυγισµένα κατά βάρος δένδρα ελάττωσης εσωτερικού µονοπατιού 2

3 ένδρα AVL υαδικά δένδρα Για κάθε κόµβο (v: δείκτης στον κόµβο), ορίζουµε LeftHeight(v) = 0, αν v->left = NULL, LeftHeight(v) = 1 + Height(v->left), διαφορετικά. όπου Height(w) το ύψος του υποδένδρου µε ρίζα τον w. Το RightHeight(v) ορίζεται αντίστοιχα. Το ισοζύγιο (balance) κόµβου v είναι balance(v) = RightHeight(v) LeftHeight(v) Για το δένδρο Τ (µε δείκτη r στη ρίζα): LeftHeight(T) = LeftHeight(r) RightHeight(T) = RightHeight(r) 3

4 ένδρα AVL ένδρο AVL δυαδικό δένδρο αναζήτησης και κάθε κόµβος του έχει balance = 0, 1, ή +1. Τα δένδρα των περιπτώσεων (a), (b), (c) είναι δένδρα AVL, ενώ αυτά των περιπτώσεων (d), (e) δεν είναι. 4

5 Χαρακτηριστικά ένδρων AVL Κάθε δένδρο AVL είναι δυαδικό δένδρο αναζήτησης και έχει ύψος O(log n), όπου n το πλήθος κόµβων του δένδρου. Τι σηµαίνει αυτό για την πολυπλοκότητα της LookUp()? Ένας κόµβος µπορεί να προστεθεί σε ή να αφαιρεθεί από ένα δένδρο AVL χωρίς να καταστραφεί η AVL ιδιότητα (ιδιότητα ισοζυγισµού καθ ύψος) σε χρόνο O(log n). Αναπαράσταση Κάθε κόµβος είναι µια δοµή µε πεδία: key, data, left, right, balance Πόσο χώρο στη µνήµη χρειαζόµαστε για να αποθηκεύσουµε το balance? 5

6 Εισαγωγές κόµβων σε δένδρο AVL Πως µπορούµε να υλοποιήσουµε την Insert()?Που διαφέρει από την Insert() σε δυαδικό δένδρο αναζήτησης? Ακολουθώντας τη γνωστή µέθοδο εισαγωγής σε δένδρο δυαδικής αναζήτησης: βρες το µονοπάτι από τη ρίζα στο κατάλληλο φύλλο στο οποίο θα γίνει η εισαγωγή. Αποθήκευσε αυτό το µονοπάτι (ανεστραµµένο). Ακολούθησε αυτό το µονοπάτι από κάτω προς τα επάνω υπολογίζοντας το νέο balance των κόµβων του µονοπατιού αυτού. Αν το balance κάποιου κόµβου αλλάζει σε +2 ή σε 2, ακολούθησε διαδικασία τροποποίησης του δένδρου ώστε να επανέλθει σε ισχύ η AVL ιδιότητα: εκτέλεσε περιστροφές. 6

7 Εισαγωγές κόµβων σε δένδρο AVL Παράδειγµα Η απλή περίπτωση: (b) Εισαγωγή στο δένδρο AVL της περίπτωσης (a) (d) Εισαγωγή στο δένδρο AVL της περίπτωσης (c) 7

8 Εισαγωγές κόµβων σε δένδρο AVL Απλή Αριστερή Περιστροφή, RR (Single Left Rotation) Γιατί να µην ανταλλάξουµε το υποδένδρο Τ1 µε το υποδένδρο Τ3 για να επιλύσουµε το πρόβληµα? Ποια είναι η συµµετρική περίπτωση (Απλή εξιά Περιστροφή, LL)? Πολυπλοκότητα Χρόνου? 8

9 Εισαγωγές κόµβων σε δένδρο AVL Απλή εξιά Περιστροφή, LL (Single Right Rotation) Προσοχή: Τα L και R σχετίζονται µε το που βρίσκεται το υποδένδρο όπου έχει γίνει η εισαγωγή σε σχέση µε τον κόµβο όπου εµφανίζεται η έλλειψη ισορροπίας. Οι περιστροφές LL και RR γίνονται όταν παρουσιαστεί εξωτερική έλλειψη ισορροπίας. 9

10 Εισαγωγές κόµβων σε δένδρο AVL ιπλή περιστροφή RL (Double Rotation RL) RL = Right-Left Υπάρχει επίσης η συµµετρική ιπλή Περιστροφή LR (Left-Right). Οι διπλές περιστροφές (RL, LR) απαιτούνται για εσωτερική έλλειψη ισορροπίας. 10

11 Εισαγωγές κόµβων σε δένδρο AVL Παράδειγµα: ιαδοχικές εισαγωγές των κλειδιών 90, 71, 10, 4, 12, 5, 19, 52 και 56 σε αρχικά κενό δένδρο AVL. 11

12 Κρίσιµος Κόµβος (Critical Node) Κρίσιµος Κόµβος ο χαµηλότερος κόµβος µε balance +1 ή 1 στο µονοπάτι που θα ακολουθήσουµε από τη ρίζα για την εισαγωγή του νέου κόµβου Στο µονοπάτι αυτό: Κάθε κόµβος χαµηλότερα από τον κρίσιµο κόµβο είχε balance 0. Άρα, θα έχει balance +1 ή 1 µετά την εισαγωγή. Τι καθορίζει το αν κάποιος τέτοιος κόµβος θα έχει balance +1 ή 1? Ο κρίσιµος κόµβος µετά την εισαγωγή έχει balance ίσο µε 0 ή +2 ή 2. Γιατί? Πότε το balance γίνεται 0, πότε +2 και πότε 2? Το balance των κόµβων ψηλότερα από τον κρίσιµο κόµβο δεν αλλάζει γιατί το ύψος του κρίσιµου κόµβου είναι το ίδιο πριν και µετά την εισαγωγή (µε ή χωρις περιστροφή). Γιατί? Άρα, µόνον οι κόµβοι από τον κρίσιµο κόµβο και χαµηλότερα χρειάζεται να ελεγχθούν για αλλαγές στο balance τους. Σηµείωση: Ο κρίσιµος κόµβος είναι σηµαντικός για την αποτελεσµατική υλοποίηση της διαδικασίας εισαγωγής σε δένδρο AVL. 12

13 Κρίσιµος Κόµβος Εάν γίνει περιστροφή, αυτή σχετίζεται µε τον κρίσιµο κόµβο και µπορεί να είναι: µια απλή περιστροφή µεταξύ του κρίσιµου κόµβου και του κόµβου-παιδιού του στο µονοπάτι που ακολουθήθηκε για την εισαγωγή µια διπλή περιστροφή µεταξύ του κρίσιµου κόµβου, του κόµβου-παιδιού του και του κόµβουεγγονού του στο µονοπάτι για την εισαγωγή Σε τι µας βοηθάει η παρατήρηση αυτή? Καθώς ο αλγόριθµος κατεβαίνει προς το ζητούµενο φύλλο, αρκεί να θυµάται µόνο τον τελευταίο κρίσιµο κόµβο. Μετά την εισαγωγή, ξεκινώντας από τον κρίσιµο κόµβο ακολούθησε και πάλι το ίδιο µονοπάτι προς τον κόµβο που εισήχθη και διόρθωσε τα balances. Τέλος, αν χρειάζεται κάνε τις περιστροφές. Γιατί µπορούµε να βρούµε και πάλι αυτό το µονοπάτι? Πως διορθώνουµε τα balances? Ποια είναι η πολυπλοκότητα χρόνου της Insert()? 13

14 ιαγραφές κόµβων σε δένδρο AVL Αρχικά, εφαρµόζουµε τον αλγόριθµο διαγραφής σε δυαδικό δένδρο αναζήτησης: 1) διαγραφή του ίδιου του κόµβου v αν είναι φύλλο, 2) αντικατάστασή του από το παιδί του αν έχει µόνο ένα παιδί, 3) αντικατάστασή του από τον επόµενό του στην ενδοδιατεταγµένη διάταξη αν έχει 2 παιδιά. Κατόπιν, ελέγχουµε τις τιµές του balance: το balance του κόµβου-γονέα του κόµβου που διαγράφεται (διαγράφεται ο v ή ο επόµενος του v στην ενδο-διατεταγµένη διάσχιση) αλλάζει. (a) Αρχικό δένδρο, (b)-(e) διαγραφές Β,F,M,R 14

15 ιαγραφές κόµβων σε δένδρο AVL Αν το balance του κόµβου-γονέα w του κόµβου που διαγράφεται (του v ή του επόµενού του στην ενδοδιατεταγµένη διάσχιση) αλλάζει από 0 σε +1 ή σε 1, τότε ο αλγόριθµος τερµατίζει. από +1 ή 1 σε 0, το ύψος του w µειώνεται και άρα και το balance άλλων προγόνων του v ενδεχοµένως αλλάζει. από +1 ή 1 σε +2 ή 2, τότε γίνεται µία ή περισσότερες περιστροφές. Στη χειρότερη περίπτωση, µπορεί να χρειαστεί να γίνουν περιστροφές σε όλους τους κόµβους στο µονοπάτι από τον κόµβο w έως τη ρίζα. Το είδος των περιστροφών εξαρτάται από τις δύο πρώτες ακµές του µονοπατιού που καθορίζει το ύψος του εκάστοτε κόµβου µε balance +2 ή -2. Ποια είναι η πολυπλοκότητα χρόνου της υλοποίησης της Delete()? Ολόκληρο το µονοπάτι πρέπει να αποθηκευτεί και να ακολουθηθεί από τον κόµβο w προς τη ρίζα µέχρι να βρεθεί κάποιος κόµβος µε balance 0. Το balance του κόµβου αυτού γίνεται +1 ή 1, αλλά το ύψος του δεν αλλάζει, και από εκεί και µετά, το balance των κόµβων έως τη ρίζα δεν αλλάζει. 15

16 ιαγραφές κόµβων σε δένδρο AVL Αρχικό δένδρο 19 ιαγραφή του ιαγραφή του ιαγραφή του ιαγραφή του ιαγραφή του ιαγραφή του 5 52 ιαγραφή του

17 Παράδειγµα ιαγραφής που Οδηγεί σε Πολλαπλές Περιστροφές 17

18 Κοκκινόµαυρα ένδρα (Red-Black Trees) Κοκκινόµαυρο δένδρο δυαδικό δένδρο αναζήτησης κάθε κόµβος: κόκκινο χρώµα ή µαύρο χρώµα. Θα θεωρήσουµε τους δείκτες NULL ως δείκτες σε εξωτερικούς NIL κόµβους (φύλλα) του δυαδικού δένδρου και τους κανονικούς κόµβους που αποθηκεύουν κλειδιά ως εσωτερικούς κόµβους του δένδρου. (Αυτή η υπόθεση βοηθά στον περιορισµό των περιπτώσεων.) Ένα κοκκινόµαυρο δένδρο πληροί τις ακόλουθες ιδιότητες: Κάθε κόµβος έχει είτε κόκκινο είτε µαύρο χρώµα. Ο κόµβος-ρίζα και κάθε NIL κόµβος έχει µαύρο χρώµα. Κάθε απλή διαδροµή από έναν κόµβο σε έναν NIL κόµβο που είναι απόγονός του περιέχει το ίδιο πλήθος µαύρων κόµβων. Αν ένας κόµβος έχει κόκκινο χρώµα, τότε και τα δύο παιδιά του έχουν µαύρο χρώµα. 18

19 Παράδειγµα Κοκκινό-µαυρου ένδρου οµή πεδία key : η καταχωρηµένη τιµή color : το bit χρώµατος left, right : δείκτες στα παιδιά p : δείκτης στον κόµβο-γονέα 19

20 Μέγεθος Κοκκινό-µαυρων ένδρων Πρόταση: Ένα κοκκινόµαυρο δένδρο µε n εσωτερικούς κόµβους έχει ύψος 2 log(n+1). ιαίσθηση: Σε κάθε µονοπάτι από τη ρίζα σε φύλλο, τουλάχιστον οι µισοί κόµβοι έχουν µαύρο χρώµα. Γιατί; Απόδειξη µαύρο ύψος bh(v) κόµβου v: το πλήθος µαύρων κόµβων σε κάθε µονοπάτι από τον κόµβο v σε οποιοδήποτε φύλλο-απόγονο, χωρίς να συµπεριλάβουµε τον v. Με επαγωγή ως προς το ύψος κόµβου v, αποδεικνύουµε ότι το υπο-δένδρο µε ρίζα τον v περιέχει τουλάχιστον 2 bh(v) -1 εσωτερικούς κόµβους. Βάση επαγωγής: ο v έχει ύψος 0, τότε είναι φύλλο (NIL κόµβος) πλήθος εσωτερικών κόµβων στο υποδένδρο του v είναι 0. Επαγωγικό βήµα: οθέντος ενός κόµβου v, υποθέτουµε ότι ο ισχυρισµός ισχύει για τα παιδιά του v και τον αποδεικνύουµε για τον v. Έστω h το ύψος του δένδρου και r η ρίζα. Τότε bh(r) h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα χρόνου? 20

21 Εισαγωγή σε Κοκκινό-µαυρο ένδρο Αλγόριθµος Εισαγωγή όπως σε δυαδικό δένδρο αναζήτησης. Ο νέος κόµβος που εισάγεται χρωµατίζεται µε κόκκινο χρώµα. Εξετάζουµε αν οι ιδιότητες χρωµατισµού εξακολουθούν να ισχύουν. Αν ναι τερµατίζουµε, διαφορετικά διορθώνουµε (στη 2 η περίπτωση: πατέρας έχει κόκκινο χρώµα, παππούς µαύρο). ιακρίνουµε περιπτώσεις. Για απλότητα, υποθέτουµε ότι ο πατέρας του x είναι αριστερό παιδί του πατέρα του (εργαζόµαστε συµµετρικά εάν είναι δεξί παιδί). Περίπτωση 1: Ο θείος (κόµβος-αδελφός του πατέρα) έχει κόκκινο χρώµα: αλλάζουµε το χρώµα του πατέρα και του θείου σε µαύρο και το χρώµα του παππού σε κόκκινο. Επαναλαµβάνουµε από τον κόµβο-παππού. 21

22 Εισαγωγή σε Κοκκινό-µαυρο ένδρο Αλγόριθµος (συνέχεια) Περίπτωση 2: Ο θείος έχει µαύρο χρώµα και ο x είναι δεξί παιδί του πατέρα του: ανάγουµε την περίπτωση αυτή στην περίπτωση 3 µε την εκτέλεση µιας αριστερής περιστροφής (x και πατέρας του). Περίπτωση 3: Ο θείος έχει µαύρο χρώµα και ο x είναι αριστερό παιδί του πατέρα του. Το χρώµα του πατέρα του x αλλάζει σε µαύρο και του παππού σε κόκκινο & εκτελείται µια δεξιά περιστροφή (x και παππούς του). Τερµατίζουµε. Σηµείωση: Εάν (λόγω συνεχούς εφαρµογής της περίπτωσης 1) φθάσουµε στη ρίζα, την χρωµατίζουµε µε µαύρο χρώµα και σταµατάµε. Ποια είναι η πολυπλοκότητα της RB-Insert()? 22

23 Εισαγωγή σε Κόκκινο-Μαύρο ένδρο: Παράδειγµα: Εισαγωγή του 4 23

24 ιαγραφή από Κοκκινό-µαυρο ένδρο Αρχικά, διαγραφή όπως σε δυαδικό δένδρο αναζήτησης. y: ο κόµβος που θα διαγραφεί από το δένδρο y έχει το πολύ ένα παιδί. Στη συνέχεια, ελέγχουµε εάν ισχύουν οι ιδιότητες χρωµατισµού, και εάν όχι, εκτελούµε κατάλληλες ενέργειες. 1. Ο y είναι κόκκινος ή είναι µαύρος µε κόκκινο παιδί: εν υπάρχει πρόβληµα. 2. Ο y είναι µαύρος µε µαύρο παιδί: Η διαγραφή του y δηµιουργεί (τουλάχιστον) ένα µονοπάτι από τη ρίζα µε µαύρο ύψος µικρότερο κατά ένα. Υποθέτουµε ότι η µονάδα µαύρου χρώµατος του y µεταφέρεται στο παιδί του, το οποίο τώρα γίνεται διπλά µαύρο (που είναι µη επιτρεπτό). Πρέπει να µεταφέρουµε την επιπλέον µονάδα µαύρου χρώµατος προς τα επάνω στο δένδρο µέχρι: να φθάσουµε στη ρίζα ή να βρούµε έναν κατάλληλο κόκκινο κόµβο τον οποίο χρωµατίζουµε µαύρο και τερµατίζουµε ή να εκτελέσουµε κατάλληλες περιστροφές και επαναχρωµατισµούς κάποιων κόµβων ώστε να λυθεί το πρόβληµα. 24

25 ιαγραφή από Κοκκινό-µαυρο ένδρο Θεωρούµε ότι το δένδρο υλοποιείται µε κόµβο φρουρό (όλοι οι null δείκτες δείχνουν στον κόµβο φρουρό). 25

26 ιαγραφή από Κοκκινό-µαυρο ένδρο x: το (διπλά µαύρο) παιδί του κόµβου που διαγράφηκε. Έστω w ο κόµβος-αδελφός & p ο πατέρας του x. (Ο w δεν µπορεί να είναι ο κόµβος φρουρός. Γιατί;) Έστω ότι ο x είναι αριστερό παιδί του p. (Η περίπτωση που ο x είναι δεξιό παιδί του p είναι συµµετρική.) 1. Ο w έχει κόκκινο χρώµα. Αναγόµαστε στην περίπτωση 2, αλλάζοντας το χρώµα του w σε µαύρο και του p σε κόκκινο & εκτελώντας µια αριστερή περιστροφή γύρω από τον πατέρα του x (περίπτωση (α) σχήµατος). 2. Ο w έχει µαύρο χρώµα. a. Και τα δύο παιδιά του w είναι µαύρα. Αλλάζουµε το χρώµα του w σε κόκκινο, του x σε µαύρο (από διπλά µαύρο) & µεταφέρουµε το µαύρο που αφαιρέσαµε από τους w, x στον p. Αν ο p είναι κόκκινος, γίνεται µαύρος και ο αλγόριθµος τερµατίζει. ιαφορετικά, ο p γίνεται διπλά µαύρος και η διαδικασία επαναλαµβάνεται µε x = p. b. Το w->left είναι κόκκινο και το w->right µαύρο. Αλλάζουµε το χρώµα του w σε κόκκινο και του w- >left σε µαύρο & εκτελούµε περιστροφή γύρω από τον w Μεταπίπτουµε στην περίπτωση 2c. c. Το w->right είναι κόκκινο. Αλλάζουµε το χρώµα του w->right σε µαύρο, του w σε ό,τι ήταν το χρώµα του p και του p σε µαύρο & εκτελούµε περιστροφή γύρω από τον p. Ο αλγόριθµος τερµατίζει. Εάν ο x φθάσει στη ρίζα του δένδρου, αγνοούµε την επιπλέον µονάδα µαύρου χρώµατος -- τερµατισµός 26

27 ιαγραφή από Κοκκινό-µαυρο ένδρο Σηµείωση: Στο σχήµα, όπου υπάρχει η επιγραφή x, υπάρχει µία επιπλέον µονάδα µαύρου χρώµατος. Πολυπλοκότητα χρόνου της RB-Delete(): Ο(log n) Πλήθος περιστροφών ανά διαγραφή: το πολύ 3 27

28 Αρθρωτά (Splay) ένδρα (Sleator & Tarjan, 1985) υαδικά δένδρα αναζήτησης (κάθε κόµβος έχει τα πεδία: key, data, left, right) ιαφορά από δυαδικά δένδρα αναζήτησης τρόπος εκτέλεσης LookUp( ), Insert( ) και Delete( ). Αν το δένδρο έχει n στοιχεία, δεν είναι εγγυηµένο ότι οι διαδικασίες αυτές εκτελούνται σε O(log n) χρόνο. Υπάρχει όµως η εξής εγγύηση: Κάθε ακολουθία από m αναζητήσεις, εισαγωγές, διαγραφές, ξεκινώντας από άδειο δένδρο, εκτελείται σε Ο(m logn) χρόνο. ηλαδή: To κόστος καθεµίας από αυτές τις λειτουργίες κατά µέσο όρο (amortized κόστος λειτουργίας) είναι O(logn). Αυτό δεν αποκλείει να: υπάρχει εκτέλεση κάποιας λειτουργίας (στην ακολουθία) µε κόστος πολύ υψηλό, π.χ., Ω(n), αλλά αυτό συµβαίνει αφού έχουν προηγηθεί πολλές λειτουργίες µε κόστος πολύ µικρό. 28

29 Αρθρωτά ένδρα Ιδέα (παρόµοια µε το (ευρετικό) Move-To-Front) Κάθε φορά που ένα κλειδί είναι το αποτέλεσµα µιας επιτυχηµένης αναζήτησης στο δένδρο, ο κόµβος του µετακινείται στη ρίζα. Κύρια Λειτουργία Splay(K,T), όπου K κλειδί, Τ δένδρο: τροποποιεί το Τ έτσι ώστε το προκύπτον δένδρο 1. είναι επίσης δυαδικό δένδρο αναζήτησης, και 2. έχει το κλειδί Κ στη ρίζα (το Κ υπάρχει στο δένδρο). Σηµείωση: Κάποιοι συγγραφείς ακολουθούν το εξής: αν το Κ δεν υπάρχει στο δένδρο, η ρίζα περιέχει το κλειδί που είναι ο προηγούµενος (ή ο επόµενος) του Κ στην ενδοδιατεταγµένη διάσχιση του Τ. Τα δένδρα των οποίων η διαχείριση βασίζεται στη λειτουργία Splay λέγονται αρθρωτά δένδρα. 29

30 Υλοποίηση Λειτουργιών Αρθρωτών ένδρων Αναζήτηση κλειδιού Κ αναζητούµε το Κ όπως στα δυαδικά δένδρα αναζήτησης, και εάν βρεθεί, εκτελούµε τη λειτουργία Splay(K,T) ώστε ο κόµβος που περιέχει το Κ να γίνει ρίζα του δένδρου. Εισαγωγή κόµβου <K,D> (κλειδί Κ, πληροφορία D) κάνουµε εισαγωγή των Κ και D όπως ακριβώς στα δυαδικά δένδρα αναζήτησης και κατόπιν εκτελούµε τη λειτουργία Splay(K,T) ώστε ο κόµβος που περιέχει τα Κ και D να γίνει ρίζα του δένδρου. ιαγραφή κόµβου <K,D> (κλειδί Κ, πληροφορία D) κάνουµε διαγραφή των Κ και D όπως ακριβώς στα δυαδικά δένδρα αναζήτησης και κατόπιν εκτελούµε τη λειτουργία Splay(P,T), όπου P ο κόµβος-πατέρας του κόµβου <K,D>, ώστε ο κόµβος αυτός να γίνει ρίζα του δένδρου. 30

31 Υλοποίηση της Λειτουργίας Splay(Κ,Τ) Πρώτα αναζητούµε το Κ µε το γνωστό τρόπο, και αποθηκεύουµε το µονοπάτι που ακολουθήσαµε σε στοίβα. Έστω P ο τελευταίος κόµβος σε αυτό το µονοπάτι. Αν το Κ υπάρχει στο δένδρο, θα βρίσκεται στον P. Μετά την Splay, ο P θα πρέπει να βρίσκεται στη ρίζα. ιακρίνουµε περιπτώσεις: 1. Ο P δεν έχει παππού (δηλαδή, το Parent(P) είναι η ρίζα). Εκτελούµε µια απλή περιστροφή. 31

32 Υλοποίηση της Λειτουργίας Splay(Κ,Τ) (συνέχ.) 2. Ο P και ο Parent(P) είναι και οι δύο είτε αριστερά παιδιά, είτε δεξιά παιδιά. Εκτελούµε δύο απλές περιστροφές προς την ίδια κατεύθυνση, την 1 η γύρω από τον παππού του P και την 2 η γύρω από τον πατέρα του P. Προσοχή: η περιστροφή γύρω από τον παππού του P εκτελείται πρώτη. 32

33 Υλοποίηση της Λειτουργίας Splay (συνέχεια) 3. Ένας από τους P, Parent(P) είναι αριστερό παιδί και ο άλλος δεξιό παιδί. Εκτελούµε δύο απλές περιστροφές αλλά σε αντίθετες κατευθύνσεις, την 1 η γύρω από τον πατέρα του P και την 2 η γύρω από τον παππού του P. Προσοχή: η περιστροφή γύρω από τον πατέρα του P εκτελείται πρώτη. 33

34 Παράδειγµα: Splay(D,T) 34

35 ένδρα Αναζήτησης Πολλαπλής ιακλάδωσης (ή πολύ-κατευθυνόµενα δένδρα αναζήτησης ή δένδρα αναζήτησης m-δρόµων) Γενίκευση των δυαδικών δένδρων αναζήτησης. Επινοήθηκε καθώς στον τοµέα των Βάσεων εδοµένων είναι επιθυµητά δένδρα αναζήτησης µικρού ύψους. Στα δένδρα αναζήτησης πολλαπλής διακλάδωσης, έχουµε κόµβους µε: d-1 διατεταγµένα κλειδιά k 1 k d-1 και d διατεταγµένα παιδιά (ρίζες υποδένδρων A 0,, A d-1 ), για τα οποία ισχύει ότι: (κλειδιά A 0 ) k 1 k i (κλειδιά A i ) k i +1, 1 i d-2 k d-1 (κλειδιά A d-1 ) Εάν ένα δένδρο είναι m-δρόµων, τότε οι κόµβοι έχουν το πολύ m-1 κλειδιά (π.χ., το σχήµα απεικονίζει ένα δένδρο 7-δρόµων). 35

36 Αναζήτηση Αναζήτηση του κλειδιού k τρέχων κόµβος = η ρίζα του δένδρου; Όσο ο δείκτης στον τρέχοντα κόµβο NULL Αναζητούµε το k στα κλειδιά του τρέχοντος κόµβου; Εάν βρεθεί εκεί, το k υπάρχει στο δένδρο αλλιώς εάν k < k 1 του τρέχοντος κόµβου τότε τρέχων κόµβος = ρίζα A 0 αλλιώς εάν k i < k < k i +1 τότε τρέχων κόµβος = ρίζα A i αλλιώς τρέχων κόµβος= ρίζα A d-1 Το k δεν υπάρχει στο δένδρο 36

37 (a,b)- ένδρα Ιδέα: Γιατί το δένδρο να µην είναι τέλεια ισοζυγισµένο? Μπορούµε να επιτύχουµε όλα τα φύλλα να έχουν το ίδιο βάθος για οποιοδήποτε πλήθος κόµβων. Ένα (a,b)-δένδρο είναι δένδρο αναζήτησης πολλαπλής διακλάδωσης και έχει: a 2 και συνήθως b 2 a η ρίζα έχει d-1 κλειδιά και d παιδιά, 2 d b οι υπόλοιποι εσωτερικοί κόµβοι έχουν t-1 κλειδιά και t παιδιά, a t b τα φύλλα έχουν t-1 κλειδιά, a t b. 37

38 Ειδικές Περιπτώσεις (a,b)- ένδρων Β-δέντρα (βαθµού m) (Bayer 72) = ( m/2, m)- ένδρα Κοκκινό-µαυρα ένδρα = (2,4)- ένδρα x = x x z = x z = u x z x u z 38

39 (a,b)- ένδρα Μεταξύ όλων των (a,b)-δένδρων ύψους h, ποιο είναι εκείνο µε τους λιγότερους κόµβους? Ποιο είναι το ύψος αυτού του δένδρου ως προς το πλήθος κόµβων? Μεταξύ όλων των (a,b)-δένδρων ύψους h, ποιο είναι εκείνο µε τους περισσότερους κόµβους? Ποιο είναι το ύψος αυτού του δένδρου ως προς το πλήθος κόµβων? Το ύψος ενός (a,b)-δένδρου µε n κόµβους είναι Θ(log n). Ποια είναι η πολυπλοκότητα χρόνου της διαδικασίας αναζήτησης σε ένα (α,β)-δένδρο µε n κόµβους? 39

40 (2,3)- ένδρα Τα (2,3)-δένδρα έχουν 2 τύπους κόµβων: 2-κόµβους (µε 1 κλειδί και 2 παιδιά) 3-κόµβους (µε 2 κλειδιά και 3 παιδιά) 3-κόµβος 2-κόµβος 40

41 Εισαγωγή σε (2,3)- ένδρο Αλγόριθµος 1. Εύρεση του φύλλου στο οποίο θα πρέπει να εισαχθεί το νέο κλειδί. 2. Αν υπάρχει χώρος στον κόµβο (2-κόµβος, έχει 1 κλειδί), το νέο κλειδί εισάγεται εκεί και σταµατάµε. 3. Αν δεν υπάρχει χώρος (3-κόµβος, έχει 2 κλειδιά), ιάσπαση: χωρίζουµε τον κόµβο σε δύο 2-κόµβους, έναν µε το πρώτο και έναν µε το τρίτο κλειδί, και εάν υπάρχει κόµβος-πατέρας, περνάµε το µεσαίο κλειδί στον κόµβο-πατέρα για να αποθηκευτεί εκεί και επαναλαµβάνουµε στον κόµβο-πατέρα. Εάν δεν υπάρχει κόµβος-πατέρας, τότε ο κόµβος που χωρίσαµε είναι η ρίζα, και το µεσαίο κλειδί µπαίνει σε έναν 2-κόµβο µόνο του και αποτελεί τη νέα ρίζα του (2,3)-δένδρου. Σηµειώνεται ότι η διαδικασία επαναλαµβάνεται µέχρι είτε να βρούµε χώρο για το κλειδί σε κάποιο κόµβο στο µονοπάτι προς τη ρίζα, είτε να φτάσουµε στη ρίζα και να τη χωρίσουµε, οπότε το ύψος του δένδρου αυξάνει. Πολυπλοκότητα χρόνου = O(log n) 41

42 Παράδειγµα Εισαγωγής σε (2,3)-δένδρο Εισαγωγή του κλειδιού Ο στο δένδρο. 42

43 ιαγραφή σε (2,3)-δένδρο Λόγω της διαγραφής, ενδέχεται κάποιοι κόµβοι να µένουν χωρίς καθόλου κλειδιά. Όταν αυτό συµβαίνει, αν ο κόµβος έχει κάποιον αδελφικό κόµβο µε δύο κλειδιά, µπορούµε να µεταφέρουµε ένα κλειδί από τον αδελφικό κόµβο για να επιλύσουµε το πρόβληµα. π.χ., διαγραφή του Ε M P P 43

44 ιαγραφή σε (2,3)-δένδρο Αλγόριθµος 1. Αν το προς διαγραφή κλειδί είναι σε κόµβο φύλλο, διάγραψέ το. Αν όχι, αντικατάστησε το κλειδί µε το επόµενό του στην ενδο-διατεταγµένη διάσχιση και διάγραψε το επόµενό του από την αρχική του θέση (σε κόµβο φύλλο). 2. Έστω Ν ο κόµβος από τον οποίο διαγράφεται το κλειδί. Αν ο Ν έχει ένα κλειδί µετά τη διαγραφή, ο αλγόριθµος τερµατίζει. ιαφορετικά, ο Ν δεν έχει κανένα κλειδί και έχει 1 ή κανένα παιδί: a. Αν ο Ν είναι η ρίζα, διάγραψέ τον. Αν ο Ν δεν έχει παιδί, το δένδρο γίνεται άδειο. ιαφορετικά, το παιδί του Ν γίνεται ρίζα. Τερµατίζουµε. (Τώρα, ο Ν έχει τουλάχιστον έναν αδελφικό κόµβο. Γιατί?) b. ανεισµός: Αν ο Ν έχει έναν αδελφικό 3-κόµβο Ν ακριβώς στα δεξιά του, έστω S το κλειδί του πατρικού κόµβου των Ν, Ν που χωρίζει τα δύο υποδένδρα. Μετακινούµε το S στο Ν, και το αντικαθιστούµε στον πατέρα του µε το µικρότερο κλειδί του Ν. Αν Ν και Ν είναι εσωτερικοί κόµβοι, αλλάζουµε το αριστερότερο παιδί του Ν σε δεξιό παιδί του Ν. Τα Ν, Ν έχουν από ένα κλειδί το καθένα, και ο αλγόριθµος τερµατίζει. Αν όχι, ελέγχουµε για 3-κόµβο ακριβώς στα αριστερά. c. (Αν όχι, ο Ν έχει έναν αδελφικό 2-κόµβο Ν ελέγχουµε πρώτα δεξιά και µετά αριστερά.) Συνένωση: Έστω P ο πατέρας των Ν, Ν και S το κλειδί που χωρίζει τους Ν, Ν στον P. Συνενώνουµε το S και το κλειδί του Ν σε έναν νέο 3- κόµβο,ο οποίος αντικαθιστά τα Ν,Ν. Θέτουµε Ν = P και επαναλαµβάνουµε το βήµα 2 για τον P. 44

45 Παράδειγµα ιαγραφής σε (2,3)-δένδρο 45

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα? Κόκκινα-Μαύρα ένδρα (Red-Black Trees) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

ΗΥ240 - Παναγιώτα Φατούρου 2

ΗΥ240 - Παναγιώτα Φατούρου 2 ΕΝΟΤΗΤΑ ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Ισοζυγισµένα ένδρα Χρονική Πολυπλοκότητα αναζήτησης σε δοµές που έχουν ήδη διδάχθει: Στατική Μη-Ταξινοµηµένη Λίστα -> Ο(n), όπου

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

ΕΝΟΤΗΤΑ 5 ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ

ΕΝΟΤΗΤΑ 5 ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ ΕΝΟΤΗΤΑ ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Ισοζυγισµένα Δένδρα Χρονική Πολυπλοκότητα αναζήτησης σε δοµές που έχουν ήδη διδάχθει: q Στατική Μη-Ταξινοµηµένη Λίστα -> Ο(n),

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ. ΗΥ240 - Παναγιώτα Φατούρου 1

ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ. ΗΥ240 - Παναγιώτα Φατούρου 1 ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν

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

Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

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

αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών

αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών ΕΝΟΤΗΤΑ ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό

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

Ενότητα 7 Ουρές Προτεραιότητας

Ενότητα 7 Ουρές Προτεραιότητας Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω

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

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

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

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

Εκτενείς Δομές Δεδομένων

Εκτενείς Δομές Δεδομένων Εκτενείς Δομές Δεδομένων Εισαγωγή Δομές που βασίζονται σε συγκρίσεις : Ισοζυγισμένα δέντρα εύρεσης ( δέντρα τα φύλλα των οποίων απέχουν της ίδιας τάξεως μεγέθους, απόσταση απο τη ρίζα) Υψοζυγισμένα δέντρα

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

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

9. Κόκκινα-Μαύρα Δέντρα

9. Κόκκινα-Μαύρα Δέντρα Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Κόκκινα-Μαύρα Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 9/12/2016 Δέντρα,

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

Ισοζυγισμένα υαδικά έντρα Αναζήτησης

Ισοζυγισμένα υαδικά έντρα Αναζήτησης Ισοζυγισμένα υαδικά έντρα Αναζήτησης ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Ισοζυγισμένα υαδικά έντρα Αναζήτησης Ισοζυγισμένα Α είναι

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, AVL- ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Υλοποίηση ΑVL-δένδρων Εισαγωγή κόµβων και περιστροφές ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 7-1 AVL ένδρα Είναι δυνατό

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1 Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, B- ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 ένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 8-1 2-3 ένδρα Γενίκευση των δυαδικών

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

Insert(K,I,S) Delete(K,S)

Insert(K,I,S) Delete(K,S) ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ & ΛΕΞΙΚΑ Φατούρου Παναγιώτα 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό και

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

Εκτενείς Δομές Δεδομένων

Εκτενείς Δομές Δεδομένων Εκτενείς Δομές Δεδομένων Ειδικά Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Το αριστερό υποδένδρο κάθε κόμβου έχει τιμές μικρότερες από την τιμή του κόμβου. Το δεξιό υποδένδρο κάθε κόμβου έχει τιμές μεγαλύτερες

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1 B-Δένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 8-1 2-3 Δένδρα Γενίκευση των δυαδικών δένδρων αναζήτησης.

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης Περιεχόμενα 8.1 Κατηγορίες ισορροπημένων δένδρων αναζήτησης... 155 8.1.1 Περιστροφές... 156 8.2 Δένδρα AVL... 157 8.2.1 Αποκατάσταση συνθήκης ισορροπίας... 158

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

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

Ενότητα 7 Ουρές Προτεραιότητας

Ενότητα 7 Ουρές Προτεραιότητας Ενότητα 7 Ουρές Προτεραιότητας ΗΥ240 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type).

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

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 16 Δένδρα (Trees) 1 / 42 Δένδρα (Trees) Ένα δένδρο είναι ένα συνδεδεμένο γράφημα χωρίς κύκλους Για κάθε

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

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης Δοµές Δεδοµένων 18η Διάλεξη Ισορροπηµένα δέντρα Ε. Μαρκάκης Περίληψη Επανάληψη των Τυχαιοποιηµένων ΔΔΑ, Στρεβλών ΔΔΑ, Δέντρων 2-3-4 Δέντρα κόκκινου-µαύρου Λίστες Παράλειψης Χαρακτηριστικά επιδόσεων - συµπεράσµατα

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενων από έναν

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

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

Ισοζυγισµένο έντρο (AVL Tree)

Ισοζυγισµένο έντρο (AVL Tree) Εργαστήριο 7 Ισοζυγισµένο έντρο (AVL Tree) Εισαγωγή Εκτός από τα δυαδικά δέντρα αναζήτησης (inry serh trees) που εξετάσαµε σε προηγούµενο εργαστήριο, υπάρχουν αρκετά είδη δέντρων αναζήτησης µε ξεχωριστό

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

υαδικά δέντρα αναζήτησης

υαδικά δέντρα αναζήτησης υαδικά δέντρα αναζήτησης οµές εδοµένων 3 ο εξάµηνο Ορισµός δυαδικού δέντρου αναζήτησης Σ ένα δυαδικό δέντρο αναζήτησης, για κάθε κόµβο Χ, Όλα τα κλειδιά(αντικείµενα) στο αριστερό υποδέντρο του Χ έχουν

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

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

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

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

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

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

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

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

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ Ουρές Προτεραιότητας (Priority Queues) Θεωρούµε ότι τα προς αποθήκευση στοιχεία έχουν κάποια διάταξη (καθένα έχει µια προτεραιότητα). Τα προς αποθήκευση στοιχεία είναι

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

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών

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

Διάλεξη 18: B-Δένδρα

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΟΜΕΣ Ε ΟΜΕΝΩΝ T. Σελλής ΑΝΟΙΞΗ 2003 ΑΣΚΗΣΗ #3 Ηµερ. Παράδοσης: 09/05/03

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

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ 1 ένδρα εσωτερικός κόµβος u το δένδρο έχει ύψος 4 u έχει ύψος 3 w έχει βάθος 2 κόµβος ένδρο: γράφηµα χωρίς κύκλους o Ρίζα (root) o Κόµβος (node) o Ακµή (edge) o Γονέας (parent) Παιδί (child)

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

Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα

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

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

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

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

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

3 Αναδροµή και Επαγωγή

3 Αναδροµή και Επαγωγή 3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα

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

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 7 ο έντρο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης έντρο Ορισµός Υλοποίηση µε Πίνακα Υλοποίηση µε είκτες υαδικό έντρο

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

έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα

έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα ηµήτρης Φωτάκης Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων έντρα Αναζήτησης Πολλαπλής ιακλάδωσης ( ΑΠ ) ΑΠ ή έντρα m-δρόµων: Σ Βάσεων εδοµένων.

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

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

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι

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

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική

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

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

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

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

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: υαδικά έντρα Αναζήτησης (Binary Search Trees) Ορισµός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόµενα στο αριστερό υποδέντρο του t είναι

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 23: Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ισοζυγισμένα Δέντρα - Υλοποίηση AVL-δέντρων - Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα Διδάσκων:

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές.

Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές. Βασικές Προτάσεις έντρα Ορέστης Τελέλης Κάθε δέντρο µε n κόµβους έχει n ακµές. ικαιολόγηση: Με επαγωγή στο πλήθος των κόµβων, n. έντρο µε k εσωτερικούς κόµβους και l ϕύλλα έχει n = k + l κόµβους. tllis@unipi.r

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

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 1 / 27 έντρα έντρο είναι απλό συνδεδεµένο µη

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

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) Ταχεία Αναζήτηση Σε πίνακα: δυαδική αναζήτηση (binary search) σε ταξινοµηµένο πίνακα O(log n) Σε δένδρο: αναζήτηση σε ισοζυγισµένο δένδρο O(log n) Σε λίστα: Μπορούµε

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

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

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

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

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

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) Ένωση Ξένων Συνόλων (Disjoint Sets with Union) S 1,, S k : ξένα υποσύνολα ενός συνόλου U δηλ., S i S j =, αν i j, και S 1 S k = U. Λειτουργίες που θέλουµε

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

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

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

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

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

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

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

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (path) o Πρόγονος απόγονος (ancestor, descendant)

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) q Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U (universe) αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών σύνολα

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

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

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

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

Red-black δέντρα (Κεφ. 5)

Red-black δέντρα (Κεφ. 5) Red-black δέντρα (Κεφ. ) Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 07 30 Μαρτίου 07 papagianno@ceid.upatras.gr . Εισαγωγή Περιεχόμενα. Ορισμός red-black δέντρων 3. Αναζήτηση σε red-black δέντρα

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

ιαφάνειες παρουσίασης #10 (β)

ιαφάνειες παρουσίασης #10 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

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

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

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

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

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 14: Δέντρα IV - B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις - Άλλα Δέντρα: Β-δένδρα, Β+-δέντρα,

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Γ. Κορίλη Αλγόριθµοι ροµολόγησης - Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι

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

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 12. Ανασκόπηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 13/01/2017 Εξεταστέα Ύλη

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

Red-Black Δέντρα. Red-Black Δέντρα

Red-Black Δέντρα. Red-Black Δέντρα Red-Black Δέντρα v 6 3 8 4 z Red-Black Δέντρα Περίληψη Από τα (2,4) δέντρα στα red-black δέντρα Red-black δέντρο Ορισμός Ύψος Εισαγωγή αναδόμηση επαναχρωματισμός Διαγραφή αναδόμηση επαναχρωματισμός προσαρμογή

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

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5)

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5) ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. ) Δομές Δεδομένων Μπαλτάς Αλέξανδρος 4 Μαρτίου 0 ampaltas@ceid.upatras.gr Περιεχόμενα. Εισαγωγή. Ορισμός red- black

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

Ουρές προτεραιότητας

Ουρές προτεραιότητας Ουρές προτεραιότητας Πελάτες... στο ταµείο µιας τράπεζας Κάθε πελάτης µε ένα νούµερο/αριθµός προτεραιότητας! Όσοοαριθµός είναι µεγάλος, τόσο οι πελάτες είναι πιο ενδιαφέροντες(!) ένα µόνο ταµείο ανοικτό

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

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

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε. Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v. ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος

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

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

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

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

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ ΜΕΡΟΣ ΠΡΩΤΟ Πολίτη Όλγα Α.Μ. 4528 Εξάµηνο 8ο Υπεύθυνος Καθηγητής Λυκοθανάσης

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

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

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

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

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα Γενικό πλάνο Μαθηµατικά για Πληροφορική 3ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 14/10/2008 1 Παράδειγµα δοµικής επαγωγής 2 Ορισµός δοµικής

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

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1 ιαφάνεια 14-1 Κεφάλαιο 14 οµές Ευρετηρίων για Αρχεία Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση, ιαβλος, Επιµέλεια Μ.Χατζόπουλος 1 Θα µιλήσουµε για Τύποι Ταξινοµηµένων Ευρετηρίων

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

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

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