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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) 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 AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Δομές Δεδομένων - Δυαδικά Δένδρα (binary trees)
Ισορροπημένα Δένδρα 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 εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Ψηφιακά Δένδρα 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 Δένδρα στα οποία κάθε.
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Lab 6: AVL Trees 29/10/20101ΕΠΛ231 - Δομές Δεδομένων και Αλγόριθμοι.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Προσεγγιστικοί Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα 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 Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα 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 Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης 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 Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 8-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα B-Δένδρα.
Λίστες παράλειψης (skip lists) 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 Συνδυαστικό αντικείμενο που αποτελείται από.
EPL231 – Data Structures and Algorithms
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
17η Διάλεξη Ισορροπημένα δέντρα Ε. Μαρκάκης
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
EPL231 – Data Structures and Algorithms
18η Διάλεξη Ισορροπημένα δέντρα Ε. Μαρκάκης
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
19η Διάλεξη Εξωτερική Αναζήτηση και Β-δέντρα Ε. Μαρκάκης
14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης Ε. Μαρκάκης
Ελαφρύτατες διαδρομές
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Αναδρομή Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:
Μεταγράφημα παρουσίασης:

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

Περιστροφές αριστερή περιστροφή από το 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

Περιστροφές 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

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

Εισαγωγή στη ρίζα Εκτελούμε τον αλγόριθμο εισαγωγής όπως σε ένα απλό δυαδικό δένδρο. Μεταφέρουμε το νέο στοιχείο στη ρίζα του δένδρου με τη χρήση περιστροφών. 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Περιστροφή 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

Εισαγωγή στη ρίζα Περιστροφή 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

Εισαγωγή στη ρίζα Περιστροφή 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

Εισαγωγή στη ρίζα Περιστροφή 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

Εισαγωγή στη ρίζα Περιστροφή 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

Εισαγωγή στη ρίζα 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

Επιλογή Βρίσκει το στοιχείο με το 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

Διαμέριση Τοποθετεί τον κόμβο με το 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

Διαμέριση 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

Διαμέριση 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

Διαμέριση 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

Διαμέριση 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

Τυχαιοποιημένα δένδρα Εισαγωγή ενός νέου στοιχείου 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Εισαγωγή στη ρίζα Εισαγωγή 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

Τυχαιοποιημένα δένδρα Εισαγωγή ενός νέου στοιχείου x σε δένδρο με Ν στοιχεία Εκτελούμε τον αλγόριθμο εισαγωγής στη ρίζα με πιθανότητα Διαφορετικά εισάγουμε αναδρομικά το νέο στοιχείο στο κατάλληλο υποδένδρο: Αν το x < κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το αριστερό υποδένδρο Αν το x > κλειδί της ρίζας καλούμε αναδρομικά την εισαγωγή για το δεξιό υποδένδρο Ιδιότητα: Η κατασκευή ενός τυχαιοποιημένου ΔΔΑ ισοδυναμεί με την κατασκευή ενός καθιερωμένου ΔΔΑ από τυχαίο αρχικό συνδυασμό κλειδιών. Για την κατασκευή ενός τυχαιοποιημένου ΔΔΑ με Ν στοιχεία απαιτούνται περίπου συγκρίσεις. Μια αναζήτηση κάνει περίπου συγκρίσεις. Ιδιότητα: Η πιθανότητα το κόστος κατασκευής ενός τυχαιοποιημένου ΔΔΑ να είναι μεγαλύτερο από τη μέση τιμή κατά ένα παράγοντα είναι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA