Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΔιονυσόδωρος Φιλιππίδης Τροποποιήθηκε πριν 6 χρόνια
1
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος μετά από κάθε εισαγωγή ή διαγραφή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
2
Περιστροφές αριστερή περιστροφή από το x x y α γ y x δεξιά περιστροφή
β γ α β link rotL(link x) { link y = x->r; x->r = y->l; y->l = x; return y; } link rotR(link y) { link x = y->l; y->l = x->r; x->r = y; return x; } Η περιστροφή παίρνει χρόνο Ο(1) αριστερή περιστροφή δεξιά περιστροφή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
3
Περιστροφές 17 14 21 10 16 19 23 7 12 15 20 17 3 δεξιά περιστροφή από το 14 10 21 14 7 19 23 3 12 16 20 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
4
Ισορροπημένα Δένδρα Μερικοί τύποι ισορροπημένων δένδρων
Τυχαιοποιημένα δένδρα (*) Αρθρωτά δένδρα (splay trees) Δένδρα AVL Δένδρα κόκκινου-μαύρου (a,b) δένδρα Όλα τα παραπάνω χρησιμοποιούν περιστροφές για να παραμείνουν ισορροπημένα (*) Τα τυχαιοποιημένα δένδρα είναι ισορροπημένα με μεγάλη πιθανότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
5
Εισαγωγή στη ρίζα Εκτελούμε τον αλγόριθμο εισαγωγής όπως σε ένα απλό δυαδικό δένδρο. Μεταφέρουμε το νέο στοιχείο στη ρίζα του δένδρου με τη χρήση περιστροφών. link insertT(link h, Item item) { Key v = key(item); if (h == z) return NEW(item, z, z, 1); if (less(v, key(h->item)) { h->l = insertT(h->l, item); h = rotR(h); } else { h->r = insertT(h->r, item); h = rotL(h); } return h; } void STinsert(Item item) { head = insertT(root, item); } TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
6
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 17 6 12 21 4 7 13 15
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
7
Εισαγωγή στη ρίζα Περιστροφή 15 10 8 17 6 12 21 4 7 13 15 14
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
8
Εισαγωγή στη ρίζα Περιστροφή 13 10 8 17 6 12 21 4 7 13 14 15
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
9
Εισαγωγή στη ρίζα Περιστροφή 12 10 8 17 6 12 21 4 7 14 13 15
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
10
Εισαγωγή στη ρίζα Περιστροφή 17 10 8 17 6 14 21 4 7 12 15 13
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
11
Εισαγωγή στη ρίζα Περιστροφή 10 10 8 14 6 12 17 4 7 13 15 21
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
12
Εισαγωγή στη ρίζα 14 10 17 8 12 15 21 6 13 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
13
Επιλογή Βρίσκει το στοιχείο με το k-οστο μικρότερο κλειδί.
Item selectR(link h, int k) { int t = h->l->N; if (h == z) return NULLitem; if (t > k) return selectR(h->l, k); if (t < k) return selectR(h->r, k-t-1); return h->item; } Item STselect(int k) { return selectR(head, k); } TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
14
Διαμέριση Τοποθετεί τον κόμβο με το k-οστο μικρότερο κλειδί στη θέση της ρίζας του δένδρου. Η μεταφορά του κόμβου γίνεται με τη χρήση περιστροφών. link partR(link h, int k) { int t = h->l->N; if (t > k) { h->l = partR(h->l, k); h = rotR(h); } if (t < k) { h->r = partR(h->r, k-t-1); h = rotL(h); } } TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
15
Διαμέριση 21 14 27 8 16 25 32 6 19 26 7 TexPoint fonts used in EMF.
Read the TexPoint manual before you delete this box.: AAAAA
16
Διαμέριση 21 14 27 8 19 25 32 6 16 26 7 TexPoint fonts used in EMF.
Read the TexPoint manual before you delete this box.: AAAAA
17
Διαμέριση 21 19 27 14 25 32 8 16 26 6 7 TexPoint fonts used in EMF.
Read the TexPoint manual before you delete this box.: AAAAA
18
Διαμέριση 19 14 21 8 16 27 6 25 32 7 26 TexPoint fonts used in EMF.
Read the TexPoint manual before you delete this box.: AAAAA
19
Τυχαιοποιημένα δένδρα
Εισαγωγή ενός νέου στοιχείου x σε δένδρο με Ν στοιχεία Εκτελούμε τον αλγόριθμο εισαγωγής στη ρίζα με πιθανότητα Διαφορετικά εισάγουμε αναδρομικά το νέο στοιχείο στο κατάλληλο υποδένδρο: Αν το x < κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το αριστερό υποδένδρο Αν το x > κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το δεξιό υποδένδρο link insertR(link h, Item item) { Key v = key(item), t = key(h->item); if (h == z) return NEW(item, z, z, 1); if ( rand() < RAND_MAX/(h->N+1) ) return insertT(h,item); if less(v,t) h->l = insertR(h->l, item); else h->r = insertR(h->r, item); (h->N)++; return h; } void STinsert(Item item) { head = insertR(head, item); } TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
20
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
με πιθανότητα 1/11 10 8 6 4 7 17 14 13 21 15 12 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
21
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
διαφορετικά 10 8 6 4 7 17 12 13 15 21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
22
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 17 14 13
με πιθανότητα 1/6 10 8 17 14 13 21 15 12 6 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
23
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
διαφορετικά 10 8 6 4 7 17 12 13 15 21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
24
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 17 6 14
με πιθανότητα 1/4 10 8 17 6 14 13 15 12 21 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
25
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
διαφορετικά 10 8 6 4 7 17 12 13 15 21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
26
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 17 6 12
με πιθανότητα 1/3 10 8 17 6 12 21 4 7 14 13 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
27
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
διαφορετικά 10 8 6 4 7 17 12 13 15 21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
28
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 17 6 12
με πιθανότητα 1/2 10 8 17 6 12 21 4 7 13 14 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
29
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 6 4 7 17
διαφορετικά 10 8 6 4 7 17 12 13 15 21 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
30
Εισαγωγή στη ρίζα Εισαγωγή 14 10 8 6 4 7 17 12 13 15 21 10 8 17 6 12
με πιθανότητα 1 10 8 17 6 12 21 4 7 13 15 14 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
31
Τυχαιοποιημένα δένδρα
Εισαγωγή ενός νέου στοιχείου x σε δένδρο με Ν στοιχεία Εκτελούμε τον αλγόριθμο εισαγωγής στη ρίζα με πιθανότητα Διαφορετικά εισάγουμε αναδρομικά το νέο στοιχείο στο κατάλληλο υποδένδρο: Αν το x < κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το αριστερό υποδένδρο Αν το x > κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το δεξιό υποδένδρο Ιδιότητα: Η κατασκευή ενός τυχαιοποιημένου ΔΔΑ ισοδυναμεί με την κατασκευή ενός καθιερωμένου ΔΔΑ από τυχαίο αρχικό συνδυασμό κλειδιών. Για την κατασκευή ενός τυχαιοποιημένου ΔΔΑ με Ν στοιχεία απαιτούνται περίπου συγκρίσεις. Μια αναζήτηση κάνει περίπου συγκρίσεις. Ιδιότητα: Η πιθανότητα το κόστος κατασκευής ενός τυχαιοποιημένου ΔΔΑ να είναι μεγαλύτερο από τη μέση τιμή κατά ένα παράγοντα είναι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.