Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
Ενότητα 5: Υλοποίηση Λεξικών µε Ισοζυγισµένα ∆ένδρα
Ασκήσεις και Λύσεις
Άσκηση 1
α) Παρουσιάστε τα AVL δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 150, 40, 900, 300, 700, 60, 500, 160, 450 και 600 σε ένα αρχικά άδειο AVL δέντρο.
β) Παρουσιάστε το δέντρο που προκύπτει αν το κλειδί 150 διαγραφεί από το δέντρο του ερωτήµατος α.
Λύση
α) Τα AVL δένδρα που ζητούνται παρουσιάζονται στα Σχήµατα 1 και 2. Με κόκκινο χρώµα αναπαρίστανται οι κρίσιµοι κόµβοι.
150 150
40
150
900 40
150
40 900
300
150
40 900
300
700
L
R
150
40
700
300
150
900
40 700
300 900
150
40
700
300 900
+60
60
+500 150
700 40
900 300 60
500
+40 +900 +300 +700
περιστροφή L γύρω από 300
περιστροφή R γύρω από 900
Σχήµα 1
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
150
60
40 700
300
500 160
900
160 500
300 900
700 40
150
60
450
300
160
500 900 60
700 40
150
450
900
300 700 60
500 40
150
450 160
300 700
40 500
150
60
450 600 900 160
Τελικό
+160 +450
περιστροφή L γύρω από 300
περιστροφή R γύρω από 700
+600
Σχήµα 2
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
β) Η διαδικασία διαγραφής του 150 από το δένδρο του ερωτήµατος α) παρουσιάζεται (µε δύο τρόπους) στα Σχήµατα 3 και 4.
1ος Τρόπος (αντικατάσταση από τον επόµενο στην ενδοδιατεταγµένη διάσχιση)
Σχήµα 3
2ος τρόπος (αντικατάσταση από τον προηγούµενο στην ενδοδιατεταγµένη διάσχιση)
Σχήµα 4
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
Άσκηση 2
α) Παρουσιάστε τα 2-3 δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 5, 10, 15, 20, 25, 30, 35, 45, 50 (µε τη σειρά που δίνονται) σε ένα αρχικά άδειο 2-3 δέντρο.
β) Παρουσιάστε τα δέντρα που προκύπτουν από τις διαγραφές των κλειδιών 25, 30, 35 από το δέντρο του ερωτήµατος α).
Λύση
α) Τα 2-3 δένδρα που ζητούνται παρουσιάζονται στα Σχήµατα 5 και 6. Συµβολίζουµε µε διακεκομμένους
κόμβους τους κόμβους εκείνους που καταστρατηγούν κάποια από τις ιδιότητες των 2-3 δένδρων.
Σχήµα 5
5 5 10 5 10 15
10
5 15
10
5 15 20
+25
10
5 15 20 25
10 20
5 15 25
+30 10 20
5 15 25 30
10 20
+35
5 15 25 30 35
10 20 30
5 15 25 35
20
10 30
35 25 15 5
+5 +10 +15
+20
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
Σχήµα 6
β) ∆ιαγραφές
Η διαγραφή του κλειδιού 25 παρουσιάζεται στο Σχήµα 7.
Σχήµα 7
35 40 45
20 20
30
35 40 25
10
15 5
30
25
10
15 5
20
35 25 15 5
30 40 10
45
+50
45 50 35 25 15 5 5
30 40 10
20
+40 +45
20
45 50 30 35 15 5
10 40
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ240, Ενότητα 5: Ασκήσεις και Λύσεις
Επιλογή και Λύση Ασκήσεων: Π. Φατούρου Παραγωγή Ηλ. Έκδοσης: Γεωργία Φραγκιαδάκη
Η διαγραφή του κλειδιού 30 παρουσιάζεται στο Σχήµα 8.
Σχήµα 8
Η διαγραφή του κλειδιού 35 παρουσιάζεται στο Σχήµα 9.
Σχήµα 9
10
20
5 15 40 50
45
20
40
45 50 35 15 5
10