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

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

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

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

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

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

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ

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

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

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

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

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

Ταξινόμηση. Σαλτογιάννη Αθανασία

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Κεφάλαιο 10 Ψηφιακά Λεξικά

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

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

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

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

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

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

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

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

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Ουρά Προτεραιότητας (priority queue)

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

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

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

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

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

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

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

Ουρά Προτεραιότητας (priority queue)

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

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

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

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

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

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

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

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

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

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

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

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

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

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ταξινόμηση με συγχώνευση Merge Sort

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

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

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

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

εντρικά Ευρετήρια έντρα Αναζήτησης

Κεφάλαιο 7 Λεξικά και Δυαδικά Δένδρα Αναζήτησης

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

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

Περιεχόμενα. Περιεχόμενα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στον Προγραμματισμό

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

Κεφάλαιο 6 Ουρές Προτεραιότητας

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

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Transcript:

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

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρο m-δρόμων Οι κόμβοι έχουν το πολύ m-1 κλειδιά Π.χ. m=7 10 80 5 20 30 40 50 60 70 82 84 86 88 2 3 4 32 36 90 92 94 96 98

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρο m-δρόμων Οι κόμβοι έχουν το πολύ m-1 κλειδιά Αναζήτηση του κλειδιού k τρέχων κόμβος Χ = ρίζα του δένδρου όσο ο Χ δεν είναι null (κενός κόμβος) αναζητούμε το k στα κλειδιά του Χ εάν βρεθεί εκεί, το k υπάρχει στο δένδρο αλλιώς εάν k < k 1 τότε τρέχων κόμβος = Χ 0 αλλιώς εάν k i < k < k i+1 τότε Χ = Χ i αλλιώς Χ = Χ d-1 το k δεν υπάρχει στο δένδρο

(a,b) Δένδρα Ένα (a,b)-δένδρο είναι δένδρο αναζήτησης πολλαπλής διακλάδωσης όπου: a 2 και b > a (συνήθως b 2 a) η ρίζα έχει d-1 κλειδιά και d παιδιά, 2 d b οι υπόλοιποι εσωτερικοί κόμβοι έχουν t-1 κλειδιά και t παιδιά, a t b οι κενοί κόμβοι (φύλλα) ισαπέχουν από τη ρίζα (δηλ. βρίσκονται στο ίδιο επίπεδο) (2,4)-δένδρο 15 4 19 31 1 6 9 12 16 18 24 33 40

(a,b) Δένδρα Ένα (a,b)-δένδρο είναι δένδρο αναζήτησης πολλαπλής διακλάδωσης όπου: a 2 και b > a (συνήθως b 2 a) η ρίζα έχει d-1 κλειδιά και d παιδιά, 2 d b οι υπόλοιποι εσωτερικοί κόμβοι έχουν t-1 κλειδιά και t παιδιά, a t b οι κενοί κόμβοι (φύλλα) ισαπέχουν από τη ρίζα (δηλ. βρίσκονται στο ίδιο επίπεδο) Ειδικές περιπτώσεις : Β-δένδρα (βαθμού m) : Κοκκινόμαυρα δένδρα :

(a,b) Δένδρα Ένα (a,b)-δένδρο είναι δένδρο αναζήτησης πολλαπλής διακλάδωσης όπου: a 2 και b > a (συνήθως b 2 a) η ρίζα έχει d-1 κλειδιά και d παιδιά, 2 d b οι υπόλοιποι εσωτερικοί κόμβοι έχουν t-1 κλειδιά και t παιδιά, a t b οι κενοί κόμβοι (φύλλα) ισαπέχουν από τη ρίζα (δηλ. βρίσκονται στο ίδιο επίπεδο) Μεταξύ όλων των (a,b)-δένδρων ύψους h, ποιο είναι εκείνο µε τους λιγότερους κόμβους; Ποιο είναι το ύψος αυτού του δένδρου ως προς το πλήθος κόμβων; Μεταξύ όλων των (a,b)-δένδρων ύψους h, ποιο είναι εκείνο µε τους περισσότερους κόμβους; Ποιο είναι το ύψος αυτού του δένδρου ως προς το πλήθος κόμβων;

(2,4)-Δένδρα Ένα (2,4)-δένδρο αναζήτησης είτε είναι κενό είτε αποτελείται από τρεις τύπους κόμβων: 2-κόμβους 11 <11 >11 3-κόμβους 5 11 <5 >5 >11 <11 4-κόμβους 5 11 32 <5 >5 <11 >11 <32 >32

(2,4)-Δένδρα Όλα τα φύλλα ισαπέχουν από τη ρίζα. 15 4 19 31 1 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Όλα τα φύλλα ισαπέχουν από τη ρίζα. Έχει ύψος 15 4 19 31 1 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Όλα τα φύλλα ισαπέχουν από τη ρίζα. 15<23 15 Αναζήτηση 23 4 19 31 1 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Όλα τα φύλλα ισαπέχουν από τη ρίζα. 15 19<23<31 Αναζήτηση 23 4 19 31 1 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Όλα τα φύλλα ισαπέχουν από τη ρίζα. 15 Αναζήτηση 23 4 19 31 1 6 9 12 23<24 16 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 2 15 4 19 31 1 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 2 15 μετατροπή του 2-κόμβου σε 3-κόμβο 1 2 4 19 31 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 17 15 4 19 31 1 2 6 9 12 16 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 17 15 4 19 31 1 2 6 9 12 16 17 18 24 33 40 μετατροπή του 3-κόμβου σε 4-κόμβο

(2,4)-Δένδρα Εισαγωγή 5 15 4 19 31 1 2 6 9 12 16 17 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 5 15 4 19 31 1 2 6 9 12 16 17 18 24 33 40 ανεβάζουμε το μεσαίο κλειδί για να κάνουμε χώρο για το νέο κλειδί.

(2,4)-Δένδρα Εισαγωγή 5 15 4 9 19 31 1 2 6 12 16 17 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 5 15 4 9 19 31 1 2 6 12 16 17 18 24 33 40

(2,4)-Δένδρα Εισαγωγή 5 15 4 9 19 31 1 2 5 6 12 16 17 18 24 33 40

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1 1

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19 1 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5 1 5 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18 5 1 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18 5 1 18 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3 5 1 3 18 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8 5 1 3 8 18 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9 5 18 1 3 8 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9 5 18 1 3 8 9 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14 5 18 1 3 8 9 14 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14, 7 5 9 18 1 3 8 14 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14, 7 5 9 18 1 3 7 8 14 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14, 7, 22 9 5 18 1 3 7 8 14 19

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14, 7, 22 9 5 18 1 3 7 8 14 19 22

(2,4)-Δένδρα: Εισαγωγή Εισαγωγή: Διαιρούμε κάθε 4-κόμβο που βρίσκεται στο μονοπάτι εισαγωγής Εισαγωγή 1, 19, 5, 18, 3, 8, 9, 14, 7, 22 9 5 18 1 3 7 8 14 19 22 Ο(log N) διαιρέσεις κόμβων στη χειρότερη περίπτωση το πολύ 1 διαίρεση κόμβου κατά μέσο όρο (έχει επαληθευτεί πειραματικά μόνο!)

(2,4)-Δένδρα: Διαγραφή Αν το στοιχείο που διαγράφουμε βρίσκεται σε κόμβο του τελευταίου επιπέδου τότε απλά διαγράφουμε το στοιχείο (και το αντίστοιχο κλειδί) από τον κόμβο. Διαφορετικά βρίσκουμε το διάδοχο στοιχείο το οποίο παίρνει τη θέση του διαγραφέντος. Η διαγραφή συμβαίνει στο κατώτατο επίπεδο. Αν δεν προκύψει κενός κόμβος τερματίζουμε. Διαγραφή 5 9 5 18 1 3 7 8 14 19 22

(2,4)-Δένδρα: Διαγραφή Αν το στοιχείο που διαγράφουμε βρίσκεται σε κόμβο του τελευταίου επιπέδου τότε απλά διαγράφουμε το στοιχείο (και το αντίστοιχο κλειδί) από τον κόμβο. Διαφορετικά βρίσκουμε το διάδοχο στοιχείο το οποίο παίρνει τη θέση του διαγραφέντος. Η διαγραφή συμβαίνει στο κατώτατο επίπεδο. Αν δεν προκύψει κενός κόμβος τερματίζουμε. Διαγραφή 5 9 5 18 1 3 7 8 14 19 22

(2,4)-Δένδρα: Διαγραφή Αν το στοιχείο που διαγράφουμε βρίσκεται σε κόμβο του τελευταίου επιπέδου τότε απλά διαγράφουμε το στοιχείο (και το αντίστοιχο κλειδί) από τον κόμβο. Διαφορετικά βρίσκουμε το διάδοχο στοιχείο το οποίο παίρνει τη θέση του διαγραφέντος. Η διαγραφή συμβαίνει στο κατώτατο επίπεδο. Αν δεν προκύψει κενός κόμβος τερματίζουμε. Διαγραφή 5 9 7 18 1 3 8 14 19 22

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Δανεισμός : Αν ο δεξιός (ή ο αριστερός) αδελφός του νέου κενού κόμβου Χ έχει >1 κλειδιά τότε το ελάχιστο (αντίστοιχα μέγιστο) κλειδί του αδελφού ανεβαίνει στο γονέα και ένα κλειδί του γονέα κατεβαίνει στον Χ. Διαγραφή 19 9 7 18 30 1 3 8 14 19 32 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Δανεισμός : Αν ο δεξιός (ή ο αριστερός) αδελφός του νέου κενού κόμβου Χ έχει >1 κλειδιά τότε το ελάχιστο (αντίστοιχα μέγιστο) κλειδί του αδελφού ανεβαίνει στο γονέα και ένα κλειδί του γονέα κατεβαίνει στον Χ. Διαγραφή 19 9 7 18 30 1 3 8 14 32 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Δανεισμός : Αν ο δεξιός (ή ο αριστερός) αδελφός του νέου κενού κόμβου Χ έχει >1 κλειδιά τότε το ελάχιστο (αντίστοιχα μέγιστο) κλειδί του αδελφού ανεβαίνει στο γονέα και ένα κλειδί του γονέα κατεβαίνει στον Χ. Διαγραφή 19 9 7 18 30 1 3 8 14 32 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Δανεισμός : Αν ο δεξιός (ή ο αριστερός) αδελφός του νέου κενού κόμβου Χ έχει >1 κλειδιά τότε το ελάχιστο (αντίστοιχα μέγιστο) κλειδί του αδελφού ανεβαίνει στο γονέα και ένα κλειδί του γονέα κατεβαίνει στον Χ. Διαγραφή 19 9 7 18 32 1 3 8 14 30 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Συγχώνευση : Αν οι άμεσοι αδελφοί του νέου κενού κόμβου Χ έχουν μόνο ένα κλειδί τότε συγχωνεύουμε τον X με έναν άμεσο αδελφό του σε ένα νέο κόμβο Z και κατεβάζουμε ένα κλειδί του γονέα W στον Z. Διαγραφή 9 9 7 18 32 1 3 8 14 30 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Συγχώνευση : Αν οι άμεσοι αδελφοί του νέου κενού κόμβου Χ έχουν μόνο ένα κλειδί τότε συγχωνεύουμε τον X με έναν άμεσο αδελφό του σε ένα νέο κόμβο Z και κατεβάζουμε ένα κλειδί του γονέα W στον Z. Διαγραφή 9 9 7 18 32 1 3 8 14 30 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Συγχώνευση : Αν οι άμεσοι αδελφοί του νέου κενού κόμβου Χ έχουν μόνο ένα κλειδί τότε συγχωνεύουμε τον X με έναν άμεσο αδελφό του σε ένα νέο κόμβο Z και κατεβάζουμε ένα κλειδί του γονέα W στον Z. Διαγραφή 9 14 7 18 32 1 3 8 30 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Συγχώνευση : Αν οι άμεσοι αδελφοί του νέου κενού κόμβου Χ έχουν μόνο ένα κλειδί τότε συγχωνεύουμε τον X με έναν άμεσο αδελφό του σε ένα νέο κόμβο Z και κατεβάζουμε ένα κλειδί του γονέα W στον Z. Διαγραφή 9 14 7 32 1 3 8 18 30 41

(2,4)-Δένδρα: Διαγραφή Αν προκύψει κενός κόμβος Χ τότε πρέπει να μεταφέρουμε κάποια κλειδιά. Συγχώνευση : Αν οι άμεσοι αδελφοί του νέου κενού κόμβου Χ έχουν μόνο ένα κλειδί τότε συγχωνεύουμε τον X με έναν άμεσο αδελφό του σε ένα νέο κόμβο Z και κατεβάζουμε ένα κλειδί του γονέα W στον Z. Μετά τη συγχώνευση μπορεί ο W να μείνει κενός. Σε αυτή την περίπτωση επαναλαμβάνουμε ένα βήμα μεταφοράς ή συγχώνευσης για τον W. Στη χειρότερη περίπτωση εκτελούμε ένα βήμα συγχώνευσης σε κάθε επίπεδο του δένδρου μέχρι να φθάσουμε στη ρίζα. Ο(log N) χρόνος στη χειρότερη περίπτωση

(2,4)-Δένδρα: Διαγραφή Παράδειγμα που οδηγεί σε πολλαπλές συγχωνεύσεις Διαγραφή 14 14 7 32 1 3 8 18 41

(2,4)-Δένδρα: Διαγραφή Παράδειγμα που οδηγεί σε πολλαπλές συγχωνεύσεις Διαγραφή 14 14 7 32 1 3 8 18 41

(2,4)-Δένδρα: Διαγραφή Παράδειγμα που οδηγεί σε πολλαπλές συγχωνεύσεις Διαγραφή 14 18 7 32 1 3 8 41

(2,4)-Δένδρα: Διαγραφή Παράδειγμα που οδηγεί σε πολλαπλές συγχωνεύσεις Διαγραφή 14 18 7 1 3 8 32 41

(2,4)-Δένδρα: Διαγραφή Παράδειγμα που οδηγεί σε πολλαπλές συγχωνεύσεις Διαγραφή 14 7 18 1 3 8 32 41

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Αναπαράσταση των (2,4)-δένδρων με δυαδικά δένδρα αναζήτησης Χρειαζόμαστε 1 bit επιπλέον πληροφορίας ανά κόμβο για την κωδικοποίηση των 3-κόμβων και των 4-κόμβων (2,4)-δένδρο κοκκινόμαυρο δένδρο 8 18 19 18 8 19 1 3 1 3 ή 1 3

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Αναπαράσταση των (2,4)-δένδρων με δυαδικά δένδρα αναζήτησης Χρειαζόμαστε 1 bit επιπλέον πληροφορίας ανά κόμβο για την κωδικοποίηση των 3-κόμβων και των 4-κόμβων (2,4)-δένδρο κοκκινόμαυρο δένδρο 8 18 19 18 8 19 = 18 8 19 1 3 1 3 3 1 ή = = 1 3 1 3

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Αναπαράσταση των (2,4)-δένδρων με δυαδικά δένδρα αναζήτησης Χρειαζόμαστε 1 bit επιπλέον πληροφορίας ανά κόμβο για την κωδικοποίηση των 3-κόμβων και των 4-κόμβων (2,4)-δένδρο 8 18 19 κοκκινόμαυρο δένδρο 18 8 19 ύψος 1 3 1 3 ή 1 3

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Αναπαράσταση των (2,4)-δένδρων με δυαδικά δένδρα αναζήτησης Χρειαζόμαστε 1 bit επιπλέον πληροφορίας ανά κόμβο για την κωδικοποίηση των 3-κόμβων και των 4-κόμβων (2,4)-δένδρο κοκκινόμαυρο δένδρο 15 15 4 19 31 4 31 1 6 9 12 16 18 24 33 40 1 9 19 33 6 12 16 18 24 40

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα (2,4)-δένδρο 4 4 9 6 9 12 6 12 4 4 κοκκινόμαυρο δένδρο 9 6 12 9 6 12 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα (2,4)-δένδρο 2 4 2 4 9 6 9 12 6 12 4 4 κοκκινόμαυρο δένδρο 2 9 2 6 12 9 6 12 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα (2,4)-δένδρο 2 4 2 4 9 6 9 12 6 12 2 2 4 κοκκινόμαυρο δένδρο 4 9 4 9 2 9 6 12 6 12 6 12 αλλαγή χρώματος + απλή περιστροφή

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα (2,4)-δένδρο 2 12 2 6 12 4 6 9 4 9 κοκκινόμαυρο δένδρο 2 6 12 2 6 2 1 12 2 6 4 9 12 4 9 4 9 αλλαγή χρώματος + διπλή περιστροφή

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9 5 5 1 18 1 3 8 18 19 3 8 19 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9 5 5 18 1 18 1 3 8 19 3 8 19 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9 5 5 18 1 18 1 3 8 9 19 3 8 19 9

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14 5 5 18 1 18 1 3 8 9 19 3 8 19 9

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14 5 5 18 1 18 1 3 8 9 14 19 3 9 19 8 14

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 5 5 18 1 18 1 3 8 9 14 19 3 9 19 8 14 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 5 5 9 18 1 18 1 3 8 14 19 3 9 19 8 14 αλλαγή χρώματος

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 5 5 9 18 1 3 18 1 9 19 1 3 8 14 19 8 14 πρώτη περιστροφή

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 5 5 9 18 1 9 1 3 8 14 19 3 8 18 14 19 πρώτη περιστροφή

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 1 5 2 9 5 9 18 1 3 8 14 19 3 8 18 14 19 δεύτερη περιστροφή

(2,4)-Δένδρα ως Κοκκινόμαυρα Δένδρα Η διαδικασία εισαγωγής είναι ανάλογη αυτής σε (2,4)-δένδρο Εισαγωγή 9, 14, 7 9 5 18 5 9 18 1 3 8 14 19 1 8 14 19 3 δεύτερη περιστροφή