1 / 31

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

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

pete
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Περιστροφές αριστερή περιστροφή από το x x y α γ y x δεξιά περιστροφή από το y β γ α β 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 14 8 17 10 17 6 12 21 8 12 15 21 4 7 13 6 13 με πιθανότητα 1/11 4 7 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  21. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 10 8 8 17 17 6 6 12 12 21 21 4 4 7 7 13 13 διαφορετικά 15 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  22. Εισαγωγή στη ρίζα 14 14 Εισαγωγή 10 12 17 8 17 13 15 21 6 12 21 4 7 13 με πιθανότητα 1/6 10 15 8 6 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  23. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 10 8 8 17 17 6 6 12 12 21 21 4 4 7 7 13 13 διαφορετικά 15 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  24. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 14 8 17 12 15 6 12 21 13 4 7 13 με πιθανότητα 1/4 10 15 8 17 6 21 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  25. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 10 8 8 17 17 6 6 12 12 21 21 4 4 7 7 13 13 διαφορετικά 15 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  26. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 8 17 14 6 12 21 13 15 4 7 13 με πιθανότητα 1/3 10 15 8 17 6 12 21 4 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  27. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 10 8 8 17 17 6 6 12 12 21 21 4 4 7 7 13 13 διαφορετικά 15 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  28. Εισαγωγή στη ρίζα 14 14 Εισαγωγή 10 15 8 17 6 12 21 4 7 13 με πιθανότητα 1/2 10 8 17 15 6 12 21 4 7 13 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  29. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 10 8 8 17 17 6 6 12 12 21 21 4 4 7 7 13 13 διαφορετικά 15 15 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

  30. Εισαγωγή στη ρίζα 14 Εισαγωγή 10 8 17 6 12 21 4 7 13 με πιθανότητα 1 10 8 17 15 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

More Related