Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Αλγόριθμοι Ταξινόμησης
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δένδρα στα οποία κάθε.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Lab 6: AVL Trees 29/10/20101ΕΠΛ231 - Δομές Δεδομένων και Αλγόριθμοι.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Προσεγγιστικοί Αλγόριθμοι
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
A Balanced Tree Structure for Peer-to-Peer Networks
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος ( ) Νίκος Παπασπύρου
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 8-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα B-Δένδρα.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
EPL231 – Data Structures and Algorithms
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
EPL231 – Data Structures and Algorithms
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Ελαφρύτατες διαδρομές
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Μεταγράφημα παρουσίασης:

Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος μετά από κάθε εισαγωγή ή διαγραφή

Node rotateRight(Node y) { Node x = y.left; y.left = x.right; x.right = y; return x; } Node rotateLeft(Node x) { Node y = x.right; x.right = y.left; y.left = x; return y; } Περιστροφές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x y α βγ x y α γ β αριστερή περιστροφή από το x δεξιά περιστροφή από το y Η περιστροφή παίρνει χρόνο Ο(1) αριστερή περιστροφήδεξιά περιστροφή

Περιστροφές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A δεξιά περιστροφή από το 14

Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τυχαιοποιημένα δένδρα Αρθρωτά δένδρα (splay trees) Δένδρα AVL Κοκκινόμαυρα δένδρα (a,b) δένδρα Μερικοί τύποι ισορροπημένων δένδρων Όλα τα παραπάνω χρησιμοποιούν περιστροφές για να παραμείνουν ισορροπημένα

Δένδρα AVL (Adelson-Velskii and Landis) Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 bf= height= Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Δένδρα AVL Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και right(x) είναι επίσης AVL δένδρα

Δένδρα AVL Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και right(x) είναι επίσης AVL δένδρα ύψος

Δένδρα AVL (Adelson-Velskii and Landis) Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και right(x) είναι επίσης AVL δένδρα ή Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος Τότεκαι

Δένδρα AVL (Adelson-Velskii and Landis) Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος Τότεκαι Ακολουθία Fibonacciκαι όπου

Δένδρα AVL Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος Τότεκαι Ακολουθία Fibonacciκαι όπου Ισχύει

Δένδρα AVL Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 Συντελεστής ισορροπίας (balance factor) του κόμβου x: Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος Τότεκαι Άρα Επομένως ένα AVL δένδρο με κόμβους έχει ύψος το πολύ

Δένδρα AVL Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1 bf= height= Συντελεστής ισορροπίας (balance factor) του κόμβου x: Μετά από μια εισαγωγή ή διαγραφή μπορεί να προκύψει μη ισορροπημένο δένδρο

Δένδρα AVL bf= height= Εισαγωγή 10

Δένδρα AVL bf= height= Εισαγωγή Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14

Δένδρα AVL height= Εισαγωγή Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14 Εκτελούμε διπλή περιστροφή του 9 bf=+2 +2

Δένδρα AVL height= Εισαγωγή Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14 Εκτελούμε διπλή περιστροφή του 9 bf=+2 +2

Δένδρα AVL bf= height= Εισαγωγή Αποκαταστάθηκε η συνθήκη ισορροπίας

Δένδρα AVL height= Εισαγωγή bf=+1 +1

Δένδρα AVL bf= height= Εισαγωγή Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 8 και

Δένδρα AVL Εισαγωγή Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 8 και Εκτελούμε απλή περιστροφή του 4 bf= height=5

Δένδρα AVL bf= height= Εισαγωγή Αποκαταστάθηκε η συνθήκη ισορροπίας

Δένδρα AVL Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές Αποκατάσταση ισορροπίας μετά από εισαγωγή Παραμένει AVL δένδρο 0

Δένδρα AVL 0 Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές Αποκατάσταση ισορροπίας μετά από εισαγωγή Παραμένει AVL δένδρο +1

Δένδρα AVL bf= height= Εισαγωγή z y w z = χαμηλότερος πρόγονος του νέου κόμβου x που μόλις έχει εισαχθεί για τον οποίο y = παιδί του z στο μονοπάτι εισαγωγής w = παιδί του y στο μονοπάτι εισαγωγής x Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL δεξιά περιστροφή 0 Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL δεξιά περιστροφή 0 Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL αριστερή περιστροφή Περίπτωση RR: y = δεξί παιδί του z και w = δεξί παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή Συμμετρική της περίπτωσης LL

Δένδρα AVL Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή +1 +2

Δένδρα AVL 1: αριστερή περιστροφή 2: δεξιά περιστροφή Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL 1: αριστερή περιστροφή 2: δεξιά περιστροφή Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή

Δένδρα AVL 1: δεξιά περιστροφή 2: αριστερή περιστροφή Περίπτωση RL: y = δεξί παιδί του z και w = αριστερό παιδί του y Αποκατάσταση ισορροπίας μετά από εισαγωγή Συμμετρική της περίπτωσης LR

Δένδρα AVL bf= height= Εισαγωγή z y w Έστω z ο χαμηλότερος πρόγονος του νέου κόμβου x που μόλις έχει εισαχθεί για τον οποίο. Τότε : x Για κάθε πρόγονο v του x στο μονοπάτι από τον y στον x, πριν την εισαγωγή του x ισχύει Πριν την εισαγωγή του x ισχύει

Δένδρα AVL TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αποκατάσταση ισορροπίας μετά από εισαγωγή Κρίσιμος κόμβος : Ο χαμηλότερος πρόγονος z του x για τον οποίο Έστω x ο κόμβος που μόλις έχει εισαχθεί και έστω P το μονοπάτι εισαγωγής του x από τη ρίζα πριν την εισαγωγή Πριν την εισαγωγή του x ισχύει για κάθε κόμβο v στο P με μικρότερο ύψος από τον z Ο κρίσιμος κόμβος μετά την εισαγωγή έχει ίσο με 0 ή +2 ή -2 Άρα για κάθε κόμβο v στο P με μεγαλύτερο ύψος από τον z το δεν αλλάζει μετά την εισαγωγή (και την απλή ή διπλή περιστροφή αν χρειαστεί) Μετά την εισαγωγή (και την απλή ή διπλή περιστροφή αν χρειαστεί) το ύψος του κρίσιμου κόμβου δεν αλλάζει Καταλήγουμε στο συμπέρασμα ότι μια απλή ή μια διπλή περιστροφή αρκεί για να αποκαταστήσει την ισορροπία του δένδρου

Δένδρα AVL TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αποκατάσταση ισορροπίας μετά από εισαγωγή Κρίσιμος κόμβος : Ο χαμηλότερος πρόγονος z του x για τον οποίο Έστω x ο κόμβος που μόλις έχει εισαχθεί και έστω P το μονοπάτι εισαγωγής του x από τη ρίζα πριν την εισαγωγή Εάν γίνει περιστροφή, αυτή σχετίζεται με τον κρίσιμο κόμβο z και μπορεί να είναι: Mια απλή περιστροφή μεταξύ του z και του κόμβου-παιδιού του y στο μονοπάτι που ακολουθήθηκε για την εισαγωγή Mια διπλή περιστροφή μεταξύ του κρίσιμου κόμβου z, του κόμβου-παιδιού του y και του κόμβου-εγγονού του w στο μονοπάτι για την εισαγωγή Καθώς ο αλγόριθμος κατεβαίνει προς το ζητούμενο φύλλο, αρκεί να θυμάται μόνο τον τελευταίο κρίσιμο κόμβο z. Μετά την εισαγωγή, ξεκινώντας από τον κρίσιμο κόμβο ακολουθεί και πάλι το ίδιο μονοπάτι προς τον κόμβο x που εισήχθη και διορθώνει τα bf. Tέλος, αν χρειάζεται κάνει τις περιστροφές.

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL Εισαγωγή κατά σειρά των κλειδιών

Δένδρα AVL bf= height= Διαγραφή 11

Δένδρα AVL bf= height= Διαγραφή 11 Αντιγράφουμε στον κόμβο x το κλειδί του διαδόχου x’ και διαγράφουμε τον x’

Δένδρα AVL bf= height= Διαγραφή 11 Αντιγράφουμε στον κόμβο x το κλειδί του διαδόχου x’ και διαγράφουμε τον x’

Δένδρα AVL bf= height= Διαγραφή 11 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 12

Δένδρα AVL bf= height= Διαγραφή 11 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 12 Εκτελούμε απλή περιστροφή του 8

Δένδρα AVL bf= height= Διαγραφή 11 Αποκαταστάθηκε η συνθήκη ισορροπίας

Δένδρα AVL Διαγραφή κόμβου x σε δένδρο AVL Αρχικά, εφαρμόζουμε τον αλγόριθμο διαγραφής όπως στο απλό δυαδικό δένδρο αναζήτησης, διαγράφοντας τον κόμβο x’ όπου: 1) x’=x αν o x είναι φύλλο 2) x’=παιδί του x αν o x έχει μόνο ένα παιδί 3) x’=διάδοχος του x αν ο x έχει 2 παιδιά (Στις περιπτώσεις 2 και 3 αντιγράφουμε τα περιεχόμενα του x’ στον x πριν τη διαγραφή.) Κατόπιν, ελέγχουμε τις τιμές του bf: το bf του κόμβου-γονέα z του κόμβου x’ που διαγράφεται αλλάζει.

Δένδρα AVL Διαγραφή κόμβου x σε δένδρο AVL Αν το bf(z) του κόμβου-γονέα z του κόμβου x’ που διαγράφεται αλλάζει από 0 σε +1 ή σε –1, τότε ο αλγόριθμος τερματίζει. από +1 ή –1 σε 0, το ύψος του z μειώνεται και άρα και το bf άλλων προγόνων του x’ ενδεχομένως αλλάζει. από +1 ή –1 σε +2 ή –2, τότε γίνεται μία ή περισσότερες περιστροφές. Στη χειρότερη περίπτωση, μπορεί να χρειαστεί να γίνουν περιστροφές σε όλους τους κόμβους στο μονοπάτι από τον κόμβο z έως τη ρίζα. Το είδος των περιστροφών εξαρτάται από τις δύο πρώτες ακμές του μονοπατιού που καθορίζει το ύψος του εκάστοτε κόμβου με bf = +2 ή -2. Ολόκληρο το μονοπάτι πρέπει να αποθηκευτεί και να ακολουθηθεί από τον κόμβο z προς τη ρίζα μέχρι να βρεθεί κάποιος κόμβος v με bf(v)=0. Tο bf(v) γίνεται +1 ή –1, αλλά το ύψος του δεν αλλάζει, και από εκεί και μετά, το bf των κόμβων έως τη ρίζα δεν αλλάζει.

Δένδρα AVL Π.χ. περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y Αποκατάσταση ισορροπίας μετά από διαγραφή δεξιά περιστροφή Έστω z ο χαμηλότερος κόμβος που παραβιάζει τη συνθήκη ισορροπίας. Έστω y το παιδί του z με το μεγαλύτερο ύψος και έστω w το παιδί του y με το μεγαλύτερο ύψος. Σε περίπτωση που ο y έχει δύο παιδία με το ίδιο ύψος επιλέγουμε το παιδί w του y για το οποίο οι σύνδεσμοι (z,y) και (y,w) έχουν την ίδια φορά. Εφαρμόζουμε τις περιπτώσεις LL, RR, LR ή RL ανάλογα με τη θέση των z, y και w, όπως και την εισαγωγή

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8 Περίπτωση RL: διπλή περιστροφή

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8 Περίπτωση RL: διπλή περιστροφή

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8 Περίπτωση RL: διπλή περιστροφή

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 14 Περίπτωση RR: απλή περιστροφή 8 0 1

Δένδρα AVL bf= height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή 4 Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 14 Περίπτωση RR: απλή περιστροφή 8 0 1

Δένδρα AVL bf=0 0 0 height= Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές Διαγραφή Αποκαταστάθηκε η συνθήκη ισορροπίας

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών

Δένδρα AVL Διαγραφή κατά σειρά των κλειδιών