Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Δομές Αναζήτησης 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 Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:"— Μεταγράφημα παρουσίασης:

1 Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με κλειδί Αναζήτηση στοιχείου με δεδομένο κλειδί Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Άλλες χρήσιμες λειτουργίες είναι: Διαγραφή ενός καθορισμένου στοιχείου Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Ταξινόμηση των στοιχείων σύμφωνα με τα κλειδιά τους Εύρεση προκάτοχου ή διάδοχου Ένωση δύο δομών αναζήτησης

2 Πίνακες Συμβόλων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένη λίστα μη διατεταγμένος πίνακας δένδρο δυαδικής αναζήτησης τυχαιοποιημένο δένδρο κόκκινου-μαύρου (*) Συμβαίνει με εξαιρετικά μικρή πιθανότητα εισαγωγή κατακερματισμός Με δυαδική αναζήτηση χειρότερη περίπτωσημέση περίπτωση αναζήτηση

3 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου

4 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A root Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

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

6 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση 15 15<17 Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

7 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση 15 15>14 Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

8 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση 15 15<16 Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

9 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση 15 15=15 Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

10 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Εισαγωγή νέου στοιχείου με κλειδί (που δεν υπάρχει ήδη στο δένδρο) Αναζητούμε το κλειδί στο δένδρο και βρίσκουμε τον κόμβο h που είναι γονέας του κενού κόμβου στον οποίο καταλήγει η αναζήτηση Δημιουργούμε νέο κόμβο x με κενά παιδιά και αποθηκεύουμε το νέο στοιχείο στον x Διαφορετικά, κάνουμε τον x αριστερό παιδί του h αν η αναζήτηση ακολούθησε τον αριστερό σύνδεσμο του h. Διαφορετικά κάνουμε τον x δεξί παιδί του h Aν ο h δεν υπάρχει τότε θέτουμε root=x

11 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή 13 13< Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

12 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. 13<14

13 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. 13>10

14 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. 13>12

15 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου.

16 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου

17 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου

18 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου

19 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 13

20 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 7

21 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 7

22 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 14 ?

23 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 14 Αντιγράφουμε το κλειδί του διάδοχου κόμβου

24 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 14 Διαγράφουμε τον διάδοχο κόμβο

25 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή 14

26 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή κόμβου x Αν ο x έχει κενό παιδί τότε θέτουμε z=x, διαφορετικά θέτουμε z = διάδοχος του x. Αν ο z είναι διαφορετικός από τον x τότε αντιγράφουμε τα δεδομένα του z στον x. Αν ο z έχει κενό δεξί παιδί τότε θέτουμε y=z->l, διαφορετικά θέτουμε y = z->r. Αν ο z δεν έχει γονέα τότε θέτουμε root=y. Διαφορετικά έστω w ο γονέας του z. Αν ο z είναι αριστερό παιδί ( w->l==z ) τότε κάνουμε τον y αριστερό παιδί του w, και αν ο z είναι δεξί παιδί ( w->r==z ) τότε κάνουμε τον y αριστερό παιδί του w

27 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή x x z = διάδοχος του x 13 y = παιδί του x w = γονέας του z

28 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή x x z = διάδοχος του x 13 y = παιδί του x αντιγράφουμε τα περιεχόμενα του z στον x w = γονέας του z

29 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή x x z = διάδοχος του x 13 y = παιδί του x θέτουμε τον y ως αριστερό παιδί του w w = γονέας του z

30 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου. Διαγραφή x x z = διάδοχος του x 13 y = παιδί του x διαγράφουμε τον z w = γονέας του z

31 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Το κλειδί οποιουδήποτε εσωτερικού κόμβου είναι μεγαλύτερο (ή ίσο) από όλα τα κλειδιά του αριστερού υποδένδρου και μικρότερο (ή ίσο) από όλα τα κλειδιά του δεξιού υποδένδρου

32 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή 10

33 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8

34 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6

35 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17

36 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12

37 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12, 13

38 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12, 13, 4

39 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12, 13, 4, 7

40 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12, 13, 4, 7, 15

41 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 6, 17, 12, 13, 4, 7, 15, 21

42 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή , 8, 17, 6, 12, 15, 21, 4, 7, 10,

43 Δυαδικό Δένδρο Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή 4 4, 6, 7, 8, 10, 12, 13, 14, 15, 17,

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

45 link rotR(link y) { link x = y->l; y->l = x->r; x->r = y; return x; } link rotL(link x) { link y = x->r; x->r = y->l; y->l = 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) αριστερή περιστροφήδεξιά περιστροφή

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

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

48 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. DEMO :

49 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή 1,2,3,4,5,6,7,8

50 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1)

51 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1) (συνέχεια)

52 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1) (συνέχεια)

53 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y z z B B C C D D Περίπτωση zig-zig: από τον παππού του x ακολουθούμε δύο αριστερούς ή δύο δεξιούς συνδέσμους για να πάμε στο x z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x)

54 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y z z B B C C D D Περίπτωση zig-zig: από τον παππού του x ακολουθούμε δύο αριστερούς ή δύο δεξιούς συνδέσμους για να πάμε στο x. z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x) x x A A y y z z B B C C D D 2 1 Προσοχή στη σειρά των περιστροφών!

55 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x B B y y z z C C A A D D z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. Περίπτωση zig-zag: από τον παππού του x ακολουθούμε πρώτα έναν αριστερό και μετά ένα δεξιό σύνδεσμο ή πρώτα έναν δεξιό και μετά ένα αριστερό σύνδεσμο για να πάμε στο x splay(x)

56 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x B B y y z z C C A A D D z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. Περίπτωση zig-zag: από τον παππού του x ακολουθούμε πρώτα έναν αριστερό και μετά ένα δεξιό σύνδεσμο ή πρώτα έναν δεξιό και μετά ένα αριστερό σύνδεσμο για να πάμε στο x splay(x) x x B B y y z z C C A A D D 1 2

57 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y B B C C Αν ο πατέρας του x είναι η ρίζα τότε εκτελούμε μια απλή περιστροφή y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x)

58 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) zig-zag

59 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) μετά το zig-zag

60 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια)

61 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) zig-zig

62 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) μετά το zig-zig

63 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια)

64 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) zig-zig

65 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) 1010 μετά το zig-zig

66 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) 1010

67 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Όλες οι λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή) βασίζονται στη splay Αναζήτηση στοιχείου με κλειδί Βρίσκουμε τον τελευταίο μη κενό κόμβο x στο μονοπάτι αναζήτησης του από τη ρίζα όπως στην αναζήτηση σε απλό δυαδικό δένδρο. (Αν το κλειδί είναι αποθηκευμένο στο δένδρο τότε ο x έχει κλειδί.) Εκτελούμε splay(x) Επιστρέφουμε το στοιχείο της ρίζας

68 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση splay

69 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση

70 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Όλες οι λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή) βασίζονται στη splay Εισαγωγή στοιχείου με κλειδί Εκτελούμε τα βήματα της εισαγωγής όπως στο απλό δυαδικό δένδρο. Έστω x ο νέος κόμβος που αποθηκεύει το στοιχείο με κλειδί Εκτελούμε splay(x)

71 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή

72 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή splay

73 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή

74 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Όλες οι λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή) βασίζονται στη splay Διαγραφή κόμβου x Εκτελούμε τα βήματα της εισαγωγής όπως στο απλό δυαδικό δένδρο. Έστω z ο κόμβος που διαγράφεται. (Αν ο x έχει κενό παιδί τότε z=x, διαφορετικά o z είναι ο διάδοχος του x.) Έστω w ο γονέας του z. Εκτελούμε splay(w)

75 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 x w z

76 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w z

77 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w

78 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 wsplay(w)

79 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w

80 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A αντισταθμιστικός χρόνος ανά λειτουργία Ιδιότητες Έστω ότι εκτελούμε λειτουργίες σε αρχικά κενό αρθρωτό δένδρο, όπου κάθε λειτουργία είναι αναζήτηση, εισαγωγή ή διαγραφή. Έστω ο συνολικός αριθμός εισαγωγών. Τότε ισχύουν οι παρακάτω ιδιότητες : Ο συνολικός χρόνος εκτέλεσης όλων των λειτουργιών είναι Έστω ο αριθμός των προσπελάσεων που γίνονται στο κλειδί. Αν κάθε κλειδί προσπελαύνεται τουλάχιστον μία φορά, τότε ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας προσπελάσεων είναι

81 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο

82 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως

83 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως

84 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου

85 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου : Αναλύουμε την επίδραση του κάθε βήματος περιστροφών στο δυναμικό του δένδρου Παρατηρούμε ότι σε κάθε περίπτωση αλλάζει η τάξη δύο ή τριών κόμβων ( και ) x x B B y y z z C C A A D D x x A A y y z z B B C C D D x x A A y y B B C C

86 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου : Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Έστω και οι τιμές μετά τη διπλή περιστροφή Ισχύουν και

87 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και

88 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και Επιπλέον

89 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και Επιπλέον

90 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και

91 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών

92 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ομοίως αναλύεται η περίπτωση zig-zag Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών x x B B y y z z C C A A D D z z D D y y x x C C B B A A

93 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Ισχύουν και

94 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Ισχύουν και

95 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών

96 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Έστω λοιπόν ότι η λειτουργιά splay πραγματοποιείται σε βήματα Έστω και οι τιμές μετά τo i -οστό βήμα Το συνολικό αντισταθμιστικό κόστος είναι

97 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Γενίκευση : Βάρη στους κόμβους Έστω ότι δίνουμε ένα βάρος σε κάθε κόμβο του αρθρωτού δένδρου απόγονοι του (συμπεριλαμβανομένου του ) στο συνολικό βάρος των απογόνων του Ιδιότητα: Η λειτουργία splay(x) εκτελείται σε αντισταθμιστικό χρόνο, όπου η ρίζα του αρθρωτού δένδρου. Δυναμικό δένδρου :

98 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Η λειτουργία splay(x) εκτελείται σε αντισταθμιστικό χρόνο, όπου η ρίζα του αρθρωτού δένδρου. Έστω ο αριθμός των προσπελάσεων που γίνονται στο κλειδί. Αν κάθε κλειδί προσπελαύνεται τουλάχιστον μία φορά, τότε ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας προσπελάσεων είναι Λήμμα Προσπέλασης Στατικά Βέλτιστη Προσπέλαση Συνεπάγεται από το λήμμα προσπέλασης για. Έχουμε και ο αντισταθμιστικός χρόνος προσπέλασης του κλειδιού είναι Η συνολική μεταβολή του δυναμικού της δομής είναι

99 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έστω ένα σταθερό κλειδί. Τότε, ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας προσπελάσεων είναι όπου η απόσταση των κλειδιών και στη διατεταγμένη ακολουθία των κλειδιών του αρθρωτού δένδρου. Λήμμα Στατικού Σελιδοδείκτη Συνεπάγεται από το λήμμα προσπέλασης θέτοντας για το βάρος του κλειδιού. Τότε και ο αντισταθμιστικός χρόνος της j-οστής προσπέλασης είναι Η συνολική μεταβολή του δυναμικού της δομής είναι

100 Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έστω μια ακολουθία προσπελάσεων. Έστω ο αριθμός των διαφορετικών κλειδιών που προσπελάστηκαν πριν την j-οστή προσπέλαση μέχρι την τελευταία προσπέλαση του. Τότε, ο συνολικός χρόνος εκτέλεσης της ακολουθίας προσπελάσεων είναι Λήμμα Συνόλου Εργασίας Δίνουμε τα βάρη στα κλειδιά με τη σειρά ως προς την πρώτη προσπέλαση τους. (Το κλειδί που προσπελάστηκε πρώτο λαμβάνει το μεγαλύτερο βάρος.) Μετά την j-οστή προσπέλαση αλλάζουμε την κατανομή βαρών ως εξής: Έστω το βάρος του κατά την j-οστή προσπέλαση. Μετά την προσπέλαση δίνουμε στο βάρος 1, και σε κάθε κλειδί με βάρος, όπου, ορίζουμε το νέο βάρος του ως. Άρα, κατά την j-οστή προσπέλαση έχουμε


Κατέβασμα ppt "Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google