Ισορροπημένα Δένδρα

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

description

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

Transcript of Ισορροπημένα Δένδρα

Page 1: Ισορροπημένα Δένδρα

Ισορροπημένα Δένδρα

Μπορούμε να επιτύχουμε χρόνο εκτέλεσης

για κάθε λειτουργία;

Ισορροπημένο δένδρο : Διατηρεί ύψος μετά από

κάθε εισαγωγή ή διαγραφή

Page 2: Ισορροπημένα Δένδρα

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;}

Περιστροφές

x

β γ

x

y

α

γ

β

αριστερή περιστροφήαπό το x

δεξιά περιστροφήαπό το y

Η περιστροφή παίρνει χρόνο Ο(1)

αριστερή περιστροφή δεξιά περιστροφή

Page 3: Ισορροπημένα Δένδρα

Περιστροφές17

14 21

19 23

20

1610

7 1512

317

14

21

19 23

2016

10

7

15

123

δεξιά περιστροφήαπό το 14

Page 4: Ισορροπημένα Δένδρα

Ισορροπημένα Δένδρα

• Τυχαιοποιημένα δένδρα

• Αρθρωτά δένδρα (splay trees)

• Δένδρα AVL

• Κοκκινόμαυρα δένδρα

• (a,b) δένδρα

Μερικοί τύποι ισορροπημένων δένδρων

Όλα τα παραπάνω χρησιμοποιούν περιστροφές για να παραμείνουν ισορροπημένα

Page 5: Ισορροπημένα Δένδρα

Δένδρα AVL (Adelson-Velskii and Landis)

10

8

4 9

17

14

13

211512

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

bf=+1

0

0 -1 0 0

0

000

height=4

3

2

1 1

2

1

1 1

2

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

http://www.cs.jhu.edu/~goodrich/dsa/trees/avltree.html

Page 6: Ισορροπημένα Δένδρα

Δένδρα AVL

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον

κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και

right(x) είναι επίσης AVL δένδρα

Page 7: Ισορροπημένα Δένδρα

Δένδρα AVL

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον

κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και

right(x) είναι επίσης AVL δένδρα

ύψος ύψοςύψος

Page 8: Ισορροπημένα Δένδρα

Δένδρα AVL (Adelson-Velskii and Landis)

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Από τον παραπάνω ορισμό προκύπτει ότι αν το T είναι AVL δένδρο με ρίζα τον

κόμβο x τότε και τα δύο υποδένδρα του Τ με ρίζες τους κόμβους left(x) και

right(x) είναι επίσης AVL δένδρα

ή

Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος

Τότε και

Page 9: Ισορροπημένα Δένδρα

Δένδρα AVL (Adelson-Velskii and Landis)

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος

Τότε και

Ακολουθία Fibonacci και

όπου

Page 10: Ισορροπημένα Δένδρα

Δένδρα AVL

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος

Τότε και

Ακολουθία Fibonacci και

όπου

Ισχύει

Page 11: Ισορροπημένα Δένδρα

Δένδρα AVL

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Έστω ελάχιστος αριθμός κόμβων σε AVL δένδρο με ύψος

Τότε και

Άρα

Επομένως ένα AVL δένδρο με κόμβους έχει ύψος το πολύ

Page 12: Ισορροπημένα Δένδρα

Δένδρα AVL

10

8

4 9

17

14

13

211512

Δένδρο AVL: Διατηρεί τη συνθήκη σε κάθε κόμβο x

Δηλαδή τα ύψη των δύο παιδιών του x διαφέρουν το πολύ κατά 1

bf=+1

0

0 -1 0 0

0

000

height=4

3

2

1 1

2

1

1 1

2

Συντελεστής ισορροπίας (balance factor) του κόμβου x:

Μετά από μια εισαγωγή ή διαγραφή μπορεί να προκύψει μη ισορροπημένο δένδρο

Page 13: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4 9

17

14

211512

bf=+1

+1

0 0 0 0

0

00

height=4

3

2

1 1

1 1 1

2

Εισαγωγή 10

Page 14: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4 9

17

14

211512

bf=+2

+2

-1 0 0 0

0

-10

height=5

4

3

1 2

1 1 1

2

Εισαγωγή 10

10 01

Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14

Page 15: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4 9

17

14

211512-1 0 0 0

0

-10

height=5

4

3

1 2

1 1 1

2

Εισαγωγή 10

10 01

Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14

Εκτελούμε διπλή περιστροφή του 9

bf=+2

+2

Page 16: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4

9

17

14

211512

+1

0 0 0

0

+1

0

height=5

4

2

1

3 1 1 1

2

Εισαγωγή 10

10 01

Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 11 και 14

Εκτελούμε διπλή περιστροφή του 9

bf=+2

+2

Page 17: Ισορροπημένα Δένδρα

Δένδρα AVL

118

4

9 17

14

2115

12

bf=+1

0+1

0

0 0

00

0

height=4

22

1

3

1

1 1

2

Εισαγωγή 10

1001

Αποκαταστάθηκε η συνθήκη ισορροπίας

Page 18: Ισορροπημένα Δένδρα

Δένδρα AVL

118

4

9 17

14

2115

12

0

0

0 0

00

0

height=4

22

1

3

1

1 1

2

Εισαγωγή 2

1001

bf=+1

+1

Page 19: Ισορροπημένα Δένδρα

Δένδρα AVL

118

4

9 17

14

2115

12

bf=+2

0+2

0

0 0

0+1

+1

height=5

23

21

1 1

2

Εισαγωγή 2

1001

2

Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 8 και 14

01

4

Page 20: Ισορροπημένα Δένδρα

Δένδρα AVL

118

4

9 17

14

2115

12

0

0

0 0

0

23

2

4

1

1 1

2

Εισαγωγή 2

1001

2

Παραβιάζεται η συνθήκη ισορροπίας στους κόμβους 8 και 14

01 Εκτελούμε απλή περιστροφή του 4

bf=+2

+2

+1

+1

height=5

Page 21: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4

9 17

14

2115

12

bf=+1

0

0 0

0 0

00

0

height=4

2

1

2

3

1

1 1

2

Εισαγωγή 2

1001201

Αποκαταστάθηκε η συνθήκη ισορροπίας

Page 22: Ισορροπημένα Δένδρα

Δένδρα AVL

-1

Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 23: Ισορροπημένα Δένδρα

Δένδρα AVL

Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Παραμένει AVL δένδρο

0

Page 24: Ισορροπημένα Δένδρα

Δένδρα AVL

0

Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 25: Ισορροπημένα Δένδρα

Δένδρα AVL

Απλές Περιπτώσεις: Δε χρειάζονται περιστροφές

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Παραμένει AVL δένδρο

+1

Page 26: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4

9 17

14

2115

bf=+2

0

+1

0 0

0+2

-1

height=5

1

2

3

4

1 1

2

Εισαγωγή 7

201

701

z

y

w

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

x

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 27: Ισορροπημένα Δένδρα

Δένδρα AVL

0

0

+1

Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 28: Ισορροπημένα Δένδρα

Δένδρα AVL

+1

+1

+2

+1

0

δεξιά περιστροφή

0

Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 29: Ισορροπημένα Δένδρα

Δένδρα AVL

-1

+1

+2

-1

0

δεξιά περιστροφή

0

Περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Page 30: Ισορροπημένα Δένδρα

Δένδρα AVL

+1

-1

-2αριστερή περιστροφή

+1

0

0

Περίπτωση RR: y = δεξί παιδί του z και w = δεξί παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

Συμμετρική της περίπτωσης LL

Page 31: Ισορροπημένα Δένδρα

Δένδρα AVL

Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

0

0

+1

Page 32: Ισορροπημένα Δένδρα

Δένδρα AVL

Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

-1

+1

+2

Page 33: Ισορροπημένα Δένδρα

Δένδρα AVL

1: αριστερή περιστροφή

2: δεξιά περιστροφή

Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

-1

+1

+2 0

-10

+2

+2

0

Page 34: Ισορροπημένα Δένδρα

Δένδρα AVL

1: αριστερή περιστροφή

2: δεξιά περιστροφή

Περίπτωση LR: y = αριστερό παιδί του z και w = δεξί παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

-1

-1

+2 0

0+1

+2

+1

+1

Page 35: Ισορροπημένα Δένδρα

Δένδρα AVL

1: δεξιά περιστροφή

2: αριστερή περιστροφή

Περίπτωση RL: y = δεξί παιδί του z και w = αριστερό παιδί του y

Αποκατάσταση ισορροπίας μετά από εισαγωγή

+1

+1

-2 0

0 -1

-2

-1

-1 Συμμετρική της περίπτωσης LR

Page 36: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4

9 17

14

2115

bf=+2

0

+1

0 0

0+2

-1

height=5

1

2

3

4

1 1

2

Εισαγωγή 7

201

701

z

y

w

Έστω z ο χαμηλότερος πρόγονος του νέου κόμβου x που μόλις έχει εισαχθεί για τον οποίο . Τότε :

x

• Για κάθε πρόγονο v του x στο μονοπάτι από τον y στον x, πριν την εισαγωγή του x ισχύει

• Πριν την εισαγωγή του x ισχύει

Page 37: Ισορροπημένα Δένδρα

Δένδρα AVLΑποκατάσταση ισορροπίας μετά από εισαγωγή

Κρίσιμος κόμβος : Ο χαμηλότερος πρόγονος z του x για τον οποίο

Έστω x ο κόμβος που μόλις έχει εισαχθεί και έστω P το μονοπάτι εισαγωγής του x από τη ρίζα

πριν την εισαγωγή

• Πριν την εισαγωγή του x ισχύει για κάθε κόμβο v στο P με μικρότερο ύψος από τον z

• Ο κρίσιμος κόμβος μετά την εισαγωγή έχει ίσο με 0 ή +2 ή -2

• Άρα για κάθε κόμβο v στο P με μεγαλύτερο ύψος από τον z το δεν

αλλάζει μετά την εισαγωγή (και την απλή ή διπλή περιστροφή αν χρειαστεί)

• Μετά την εισαγωγή (και την απλή ή διπλή περιστροφή αν χρειαστεί) το ύψος

του κρίσιμου κόμβου δεν αλλάζει

Καταλήγουμε στο συμπέρασμα ότι μια απλή ή μια διπλή περιστροφή αρκεί για να αποκαταστήσει την ισορροπία του δένδρου

Page 38: Ισορροπημένα Δένδρα

Δένδρα AVLΑποκατάσταση ισορροπίας μετά από εισαγωγή

Κρίσιμος κόμβος : Ο χαμηλότερος πρόγονος z του x για τον οποίο

Έστω x ο κόμβος που μόλις έχει εισαχθεί και έστω P το μονοπάτι εισαγωγής του x από τη ρίζα

πριν την εισαγωγή

Εάν γίνει περιστροφή, αυτή σχετίζεται με τον κρίσιμο κόμβο z και μπορεί να είναι:

• Mια απλή περιστροφή μεταξύ του z και του κόμβου-παιδιού του y στο

μονοπάτι που ακολουθήθηκε για την εισαγωγή

• Mια διπλή περιστροφή μεταξύ του κρίσιμου κόμβου z, του κόμβου-παιδιού

του y και του κόμβου-εγγονού του w στο μονοπάτι για την εισαγωγή

Καθώς ο αλγόριθμος κατεβαίνει προς το ζητούμενο φύλλο, αρκεί να θυμάται μόνο

τον τελευταίο κρίσιμο κόμβο z. Μετά την εισαγωγή, ξεκινώντας από τον κρίσιμο

κόμβο ακολουθεί και πάλι το ίδιο μονοπάτι προς τον κόμβο x που εισήχθη και

διορθώνει τα bf. Tέλος, αν χρειάζεται κάνει τις περιστροφές.

Page 39: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

9001

Page 40: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

90+12

7101

Page 41: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

7102

6401 90 01

Page 42: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

71+13

64+12 90 01

201

Page 43: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

71+13

402 90 01

201 64 01

Page 44: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

6403

402

201 12 01

71-12

90 01

Page 45: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

64+14

4-13

201 12 +12

71-12

90 01

501

Page 46: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

64+14

4-13

201 12 02

71-12

90 01

501 21 01

Page 47: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

64+14

1203

21 +12

71-12

90 01

19 01

402

201 5 01

Page 48: Ισορροπημένα Δένδρα

Δένδρα AVL

Εισαγωγή κατά σειρά των κλειδιών 90 71 64 2 4 12 5 21 19 52

64+14

1203

21 02

71-12

90 01

19 01

402

201 5 01 52 01

Page 49: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4 9

17

14

211512

bf=+1

+1

0 0 0 0

0

00

height=4

3

2

1 1

1 1 1

2

Διαγραφή 11

Page 50: Ισορροπημένα Δένδρα

Δένδρα AVL

11

8

4 9

17

14

211512

bf=+1

+1

0 0 0 0

0

00

height=4

3

2

1 1

1 1 1

2

Διαγραφή 11

Αντιγράφουμε στον κόμβο x το κλειδί του διαδόχου x’ και διαγράφουμε τον x’

Page 51: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

4 9

17

14

211512

bf=+1

+1

0 0 0 0

0

00

height=4

3

2

1 1

1 1 1

2

Διαγραφή 11

Αντιγράφουμε στον κόμβο x το κλειδί του διαδόχου x’ και διαγράφουμε τον x’

Page 52: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

4 9

17

14

2115

bf=+1

+2

0 0 0

0

00

height=4

3

2

1 1

1 1

2

Διαγραφή 11

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 12

Page 53: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

4 9

17

14

2115

bf=+1

+2

0 0 0

0

00

height=4

3

2

1 1

1 1

2

Διαγραφή 11

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 12

Εκτελούμε απλή περιστροφή του 8

Page 54: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

4

9

17

14

2115

bf=+1

+1

-1

0 0

0

0

0

height=4

2

3

1

1

1 1

2

Διαγραφή 11

Αποκαταστάθηκε η συνθήκη ισορροπίας

Page 55: Ισορροπημένα Δένδρα

Δένδρα 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’ που

διαγράφεται αλλάζει.

Page 56: Ισορροπημένα Δένδρα

Δένδρα 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 των κόμβων έως τη ρίζα

δεν αλλάζει.

Page 57: Ισορροπημένα Δένδρα

Δένδρα AVL

0

+1

+2

Π.χ. περίπτωση LL: y = αριστερό παιδί του z και w = αριστερό παιδί του y

Αποκατάσταση ισορροπίας μετά από διαγραφή

0

0

+1

δεξιά περιστροφή

Έστω z ο χαμηλότερος κόμβος που παραβιάζει τη συνθήκη ισορροπίας. Έστω y το παιδί του z με το μεγαλύτερο ύψος και έστω w το παιδί του y με το μεγαλύτερο ύψος. Σε περίπτωση που ο y έχει δύο παιδία με το ίδιο ύψος επιλέγουμε το παιδί w του y για το οποίο οι σύνδεσμοι (z,y) και (y,w) έχουν την ίδια φορά.

Εφαρμόζουμε τις περιπτώσεις LL, RR, LR ή RL ανάλογα με τη θέση των z, y και w, όπως και την εισαγωγή

Page 58: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

4

9

19

14

2216

bf=-1

+1

-1

-1 -1

-1

0

0

height=5

2

3

1

1

2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Page 59: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

9

19

14

2216

bf=-1

+1

-2

-1 -1

-1

0

height=5

2

3

1

2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8

Περίπτωση RL: διπλή περιστροφή

Page 60: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

9

19

14

2216

bf=-1

+1

-2

-1 -1

-1

0

height=5

2

3

1

2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8

Περίπτωση RL: διπλή περιστροφή

Page 61: Ισορροπημένα Δένδρα

Δένδρα AVL

12

8

9

19

14

2216

bf=-1

0

-2

-1 -1

-1

-1

height=5

1

3

2 2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 8

Περίπτωση RL: διπλή περιστροφή

Page 62: Ισορροπημένα Δένδρα

Δένδρα AVL

12

9 19

14

2216

bf=-2

0 -1 -1

-10

height=5

1

2

2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 14

Περίπτωση RR: απλή περιστροφή

801

Page 63: Ισορροπημένα Δένδρα

Δένδρα AVL

12

9 19

14

2216

bf=-2

0 -1 -1

-10

height=5

1

2

2 3

4

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701 25 -12

28 01

2001

Διαγραφή 4

Παραβιάζεται η συνθήκη ισορροπίας στον κόμβο 14

Περίπτωση RR: απλή περιστροφή

801

Page 64: Ισορροπημένα Δένδρα

Δένδρα AVL

12

9

19

14 22

16

bf=0

0

-1

-1

0

height=4

1

2 2

3

Παράδειγμα που οδηγεί σε πολλαπλές περιστροφές

1701

25 -12

28 01

2001

Διαγραφή 4

801

03

Αποκαταστάθηκε η συνθήκη ισορροπίας

Page 65: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64+14

1203

21 02

71-12

90 01

19 01

402

201 5 01 52 01

Page 66: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64+14

1903

21 -12

71-12

90 01402

201 5 01 52 01

Page 67: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64+14

1913

52 01

71-12

90 01402

201 5 01

Page 68: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64 02

1903

5201 71 01

402

201 5 01

Page 69: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64 02

1903

5201 71 01

5+12

201

Page 70: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64 +12

1903

5201

5+12

201

Page 71: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64 +12

19-13

5201

501

Page 72: Ισορροπημένα Δένδρα

Δένδρα AVL

Διαγραφή κατά σειρά των κλειδιών 12 21 90 4 71 2 5

64 01

5202

1901