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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AVL-trees C++ implementation

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

4. Συνδεδεμένες Λίστες

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

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

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

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

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

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

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

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

8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση

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

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

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

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

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

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

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

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

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

Επιµέλεια Θοδωρής Πιερράτος

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

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

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

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

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

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

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

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

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

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

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

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

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

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

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

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

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

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

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

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

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

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

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα

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

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

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

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

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Κεφάλαιο 2.4 Matrix Algorithms

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

Μάθημα 22: Δυαδικά δέντρα (Binary Trees)

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

Heapsort Using Multiple Heaps

Μεταβλητες: Q, NSW, V, T, SA, WA, NT. Πεδίο Ορισμού: Για κάθε μεταβλητη το ίδιο. D i ={R, G, B} όπου i= Q, NSW,., NT.

Transcript:

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

Δέντρα, Δέντρα Παντού... Αναζήτηση Εισαγωγή ιαγραφή ιάσχιση Α 1 O(n) O(n) O(n) O(n) AVL O(logn) O(logn) O(logn) O(n) Σωρός 2 ΟΧΙ O(logn) O(logn) ΟΧΙ 1. αναμενόμενοι χρόνοι O(logn) για τυχαία και ομοιόμορφα επιλεγμένα Α 2. Για σωρό: διαγραφή=απομάκρυνση μέγιστου ή ελάχιστου Δομές Δεδομένων, 3ο Εξάμηνο 2

Εισαγωγή Τα κόκκινα-μαύρα δέντρα (red-black trees) είναι ισοζυγισμένα δέντρα δυαδικής αναζήτησης με τα εξής χαρακτηριστικά Οι κόμβοι είναι έγχρωμοι Ένας κόμβος μπορεί να είναι μαύρος ή κόκκινος Κατά την εισαγωγή και διαγραφή ακολουθούνται κανόνες που διατηρούν τις διάφορες διευθετήσεις αυτών των χρωμάτων Ο αριθμός των μαύρων κόμβων σε ένα μονοπάτι από τη ρίζα στο φύλλο ονομάζεται μαύρο ύψος Δομές Δεδομένων, 3ο Εξάμηνο 3

Κανόνες Κόκκινων-Μαύρων Δέντρων Κατά την εισαγωγή ή τη διαγραφή κόμβων πρέπει να ακολουθούνται οι εξής κανόνες Κάθε κόμβος είναι κόκκινος ή μαύρος (κανόνας 1) Η ρίζα είναι πάντα μαύρη (κανόνας 2) Αν ένας κόμβος είναι κόκκινος, πρέπει τα παιδιά του να είναι μαύρα (το αντίστροφο δεν ισχύει απαραίτητα) (κανόνας 3) Κάθε μονοπάτι από τη ρίζα ως ένα φύλλο ή ένα παιδί null, πρέπει να περιέχει τον ίδιο αριθμό μαύρων κόμβων (κανόνας 4) (ισοδύναμα: το μαύρο ύψος πρέπει να είναι το ίδιο για όλα τα μονοπάτια από τη ρίζα σε ένα φύλλο) Οι κανόνες αυτοί οδηγούν πάντα σε ισοζυγισμένο δέντρο (ισοδύναμα: ένα ορθό κόκκινο-μαύρο δέντρο είναι πάντα ισοζυγισμένο) Δομές Δεδομένων, 3ο Εξάμηνο 4

Διόρθωση Παραβιάσεων των Κανόνων Υπάρχουν δύο και μόνο δύο ενέργειες που είναι επιτρεπτές Μπορούμε να αλλάξουμε τα χρώματα των κόμβων Μπορούμε να εκετελέσουμε περιστροφές Δομές Δεδομένων, 3ο Εξάμηνο 5

Εισαγωγή Κόμβων Η ρίζα είναι πάντα μαύρη Όταν εισάγεται κάποιος άλλος κόμβος, αυτός είναι κόκκινος Ο λόγος είναι ότι η εισαγωγή κόκκινου κόμβου είναι λιγότερο πιθανό να παραβιάσει τους κανόνες κόκκινου-μαύρου από ότι η εισαγωγή μαύρου Αν ο κόκκινος κόμβος επισυνάπτεται σε ένα μαύρο, τότε κανένας κανόνας δεν παραβιάζεται εν υπάρχουν δύο κόκκινοι κόμβοι μαζί εν αλλάζει το μαύρο ύψος Δομές Δεδομένων, 3ο Εξάμηνο 6

Απλά Παραδείγματα: Αναστροφή Χρωμάτων 25 75 Αναστροφή χρωμάτων απαιτείται όταν κατά τη διαδικασία εισαγωγής βρεθεί μαύρος κόμβος με δύο κόκκινα παιδιά 12 25 75 Δομές Δεδομένων, 3ο Εξάμηνο 7

Απλά Παραδείγματα: Ένα μη Ισοζυγισμένο Δέντρο 25 75 12 6 Το πρόβλημα μπορεί να λυθεί με περιστροφή και αναστροφές χρωμάτων Δομές Δεδομένων, 3ο Εξάμηνο 8

Ανασκόπηση Διαδικασίας Εισαγωγής (1) Τρία βήματα 1. Αναστροφές χρωμάτων προς τα κάτω 2. Περιστροφές μετά την εισαγωγή κόμβου 3. Περιστροφές προς τα κάτω (πριν την εισαγωγή) Συμβολισμοί Έστω Χ ένας συγκεκριμένος κόμβος (που έχει προκαλέσει παραβίαση κανόνα) Το P είναι ο γονέας του Χ Το G είναι ο παππούς του Χ (ο γονέας του P) Δομές Δεδομένων, 3ο Εξάμηνο 9

Ανασκόπηση Διαδικασίας Εισαγωγής (2) Κατεβαίνουμε το δέντρο για να βρεθεί το σημείο εισαγωγής Αν βρεθεί μαύρος κόμβος με δύο κόκκινα παιδιά Αναστροφή χρωμάτων Αν η αναστροφή προκαλέσει σύγκρουση κόκκινο-κόκκινο (παραβίαση κανόνα 3) Έστω Χ το κόκκινο παιδί και P ο κόκκινος γονέας Η σύγκρουση επιλύεται με Απλή περιστροφή, εάν ο Χ είναι εξωτερικό εγγόνι του G ιπλή περιστροφή, εάν ο Χ είναι εσωτερικό εγγόνι του G Όταν βρεθεί το σημείο εισαγωγής, εισάγεται ο κόμβος Δομές Δεδομένων, 3ο Εξάμηνο 10

Εξωτερικό εγγόνι (Αριστερό παιδί) G Εσωτερικό εγγόνι ( εξιό παιδί) G P P X X G Εσωτερικό εγγόνι (Αριστερό παιδί) G Εξωτερικό εγγόνι ( εξιό παιδί) P P X X Δομές Δεδομένων, 3ο Εξάμηνο 11

Ανασκόπηση Διαδικασίας Εισαγωγής (3) Αφού εισαχθεί ο νέος κόμβος Χ Αν ο P είναι μαύρος, όλα καλά Αν ο P είναι κόκκινος Αν ο Χ είναι εσωτερικό εγγόνι του G Εκτελούμε δύο αλλαγές χρωμάτων Εκτελούμε δύο περιστροφές Αν ο Χ είναι εξωτερικό εγγόνι του G Εκτελούμε δύο αλλαγές χρωμάτων Εκτελούμε μία περιστροφή Δομές Δεδομένων, 3ο Εξάμηνο 12

1. Αναστροφές χρωμάτων προς τα κάτω Κατά την εισαγωγή κόμβου Όταν εντοπίζεται μαύρος κόμβος με δύο κόκκινα παιδιά, εκτελούμε αναστροφή χρωμάτων Εάν η αναστροφή προκαλέσει σύγκρουση κόκκινου-κόκκινου (κανόνας 3), αυτό λύνεται είτε με μια απλή περιστροφή ή με μια διπλή περιστροφή Τα μαύρα ύψη παραμένουν αναλλοίωτα (κανόνας 4) P P X1 X2 X1 X2 Δομές Δεδομένων, 3ο Εξάμηνο 13

2. Περιστροφές μετά την εισαγωγή κόμβου Αφού εισαχθή ο κόμβος X(που είναι πάντα κόκκινος) έχουμε τρεις δυνατές περιπτώσεις Ο P είναι μαύρος Ο P είναι κόκκινος και ο Χ εξωτερικό εγγόνι του G Ο P είναι κόκκινος και ο Χ εσωτερικό εγγόνι του G Αν ο P είναι μαύρος, τότε δεν υπάρχει καμία σύγκρουση έχει ολοκληρωθεί η εισαγωγή Δομές Δεδομένων, 3ο Εξάμηνο 14

Ο P είναι κόκκινος και ο Χ εξωτερικός G P 25 75 P 12 75 X 12 Αλλαγή χρώματος Αλλαγή χρώματος 6 25 6 Αλλαγή χρώματος του παππού (G) Αλλαγή χρώματος του γονέα (P) Περιστροφή με τον παππού (G) στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Δομές Δεδομένων, 3ο Εξάμηνο 15

Ο P είναι κόκκινος και ο Χ εσωτερικός G P 25 75 25 75 18 75 12 X Αλλαγή χρώματος 18 12 25 18 Αλλαγή χρώματος 12 Αλλαγή χρώματος του παππού (G) Αλλαγή χρώματος του Χ Περιστροφή με το γονέα P του X στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Περιστροφή με τον παππού (G) του X στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Δομές Δεδομένων, 3ο Εξάμηνο 16

3. Περιστροφές προς τα κάτω Όπως κινούμαστε προς τα κάτω (πριν γίνει η εισαγωγή) και κάνουμε αναστροφές χρωμάτων, είναι πιθανό να προκαλέσουμε παραβίαση του κανόνα 3 (γονέας και παιδί να είναι κόκκινοι) ύο περιπτώσεις Ο παραβάτης κόμβος είναι εξωτερικό εγγόνι Ο παραβάτης κόμβος είναι εσωτερικό εγγόνι Παραβάτης κόμβος λέγεται το παιδί στο ζεύγος γονέας-παιδί που προκαλεί τη σύγκρουση κόκκινο-κόκκινο Δομές Δεδομένων, 3ο Εξάμηνο 17

Ο παραβάτης κόμβος είναι εξωτερικό εγγόνι (1/2) 25 75 12 37 6 18 3 Στο παραπάνω δέντρο, που έχει προκύψει από την εισαγωγή των:, 25, 75, 12, 37, 6, 18 Θέλουμε να εισάγουμε το 3 Θα προκαλέσει αναστροφή χρωμάτων μεταξύ του 12 και των παιδιών του (6 και 18) Δομές Δεδομένων, 3ο Εξάμηνο 18

Ο παραβάτης κόμβος είναι εξωτερικό εγγόνι (2/2) P G 25 75 Αλλαγή χρώματος 25 12 X 12 37 Αλλαγή χρώματος 6 18 37 75 6 18 3 Αναστροφή χρωμάτων στους κόμβους 12 και Αλλαγή χρώματος του παππού (G) Αλλαγή χρώματος του γονέα (P) Περιστροφή με τον παππού (G) στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Δομές Δεδομένων, 3ο Εξάμηνο 19

Ο παραβάτης κομβος είναι εσωτερικό εγγόνι (1/2) 25 75 12 37 31 43 28 Στο παραπάνω δέντρο, που έχει προκύψει από την εισαγωγή των:, 25, 75, 12, 37, 31, 43 Θέλουμε να εισάγουμε το 28 Θα προκαλέσει αναστροφή χρωμάτων μεταξύ του 37 και των παιδιών του (31 και 43) Δομές Δεδομένων, 3ο Εξάμηνο 20

P Ο παραβάτης κομβος είναι εσωτερικό εγγόνι (2/2) G 25 75 X Αλλαγή χρώματος 37 75 37 25 12 37 Αλλαγή χρώματος 25 43 12 31 43 75 31 43 12 31 28 Αλλαγή χρώματος του παππού (G) Αλλαγή χρώματος του Χ Περιστροφή με το γονέα P του X στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Περιστροφή με τον παππού (G) του X στην κορυφή προς την κατεύθυνση που ανυψώνει το Χ Δομές Δεδομένων, 3ο Εξάμηνο 21

Απόδοση Κόκκινων-Μαύρων Δέντρων Αναζήτηση, εισαγωγή και διαγραφή σε O(logN) Μπορεί να αποδειχθεί ότι η αναζήτηση δε χρειάζεται παραπάνω από 2*logN συγκρίσεις Οι χρόνοι εισαγωγής και διαγραφής αυξάνονται κατά ένα σταθερό τελεστή, λόγω των αναστροφών χρωμάτων και των περιστροφών Κατά μέσο όρο μια εισαγωγή απαιτεί περίπου μία περιστροφή Άρα εξακολουθεί να γίνεται σε O(logN) αλλά είναι πιο αργή από την εισαγωγή σε ένα απλό δυαδικό δέντρο Επειδή συνήθως χρησιμοποιούμε περισσότερες αναζητήσεις από εισαγωγές και διαγραφές, δεν προκύπτει σημαντική επιβάρυνση από τη χρήση κόκκινων-μαύρων δέντρων, και αποφεύγουμε τις αργές ταχύτητες O(N) Δομές Δεδομένων, 3ο Εξάμηνο 22