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

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

Δομές Δεδομένων 1 - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees) - Δένδρα Αναζήτησης m-δρόμων - Πολυδιάστατα Δένδρα (multidimensional trees)

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


Παρουσίαση με θέμα: "Δομές Δεδομένων 1 - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees) - Δένδρα Αναζήτησης m-δρόμων - Πολυδιάστατα Δένδρα (multidimensional trees)"— Μεταγράφημα παρουσίασης:

1 Δομές Δεδομένων 1 - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees) - Δένδρα Αναζήτησης m-δρόμων - Πολυδιάστατα Δένδρα (multidimensional trees)

2 Δομές Δεδομένων 2 Ορισμοί  στοιχείο (κόμβος)  ακμή  υποδένδρο  παιδιά, γονιός, πρόγονος, απόγονος  μονοπάτι  ύψος (βάθος)  επίπεδο  φύλλα, εσωτερικοί κόμβοι

3 Δομές Δεδομένων 3 Στατική αναπαράσταση δυαδικού δένδρου (με πίνακα)  Βασίζεται στην προηγούμενη ιδιότητα (των συμπληρωμένων δυαδικών δένδρων)  Πρόβλημα: σπατάλη χώρου όταν λείπουν πολλά στοιχεία (για να γίνει το δένδρο πλήρες) –Ένα δένδρο με n στοιχεία θα μπορούσε να απαιτήσει πίνακα μεγέθους μέχρι και 2 n -1 (η περίπτωση των δεξιών λοξών δυαδικών δένδρων)

4 Δομές Δεδομένων 4 Συνδεδεμένη αναπαράσταση δυαδικού δένδρου (με δείκτες)  Η πιο δημοφιλής υλοποίηση  Κάθε στοιχείο αντιστοιχεί σε ένα κόμβο με ένα πεδίο δεδομένων (data) και δύο πεδία συνδέσμων (LeftChild, RightChild)

5 Δομές Δεδομένων 5 Διάσχιση δένδρου (συν.)  Προδιατεταγμένη: A, B, D, C, E, G, F, H, I  Μεταδιατεταγμένη: D, B, G, E, H, I, F, C, A  Ενδοδιατεταγμένη: B, D, A, G, E, C, H, F, I  Κατά σειρά επιπέδων: A, B, C, D, E, F, G, H, I

6 Δομές Δεδομένων 6 Διαγραφή στοιχείου από ΔΔΑ (1) 3 περιπτώσεις:  Ο κόμβος p (που περιέχει το στοιχείο) είναι φύλλο  Το p έχει μόνο ένα μη κενό υποδένδρο  Το p έχει ακριβώς δύο μη κενά υποδένδρα

7 Δομές Δεδομένων 7 Τυχαίο Δένδρο

8 Δομές Δεδομένων 8 Απαράδεκτο !

9 Δομές Δεδομένων 9 Ένα Καλύτερο Δένδρο

10 Δομές Δεδομένων 10 Ισοζυγισμένα Δένδρα Στόχος: Να μην αφήσουμε το ένα κλαδί του δένδρου να γίνει κατά πολύ μεγαλύτερο του άλλου. Τα δύο υποδένδρα θέλουμε να έχουν περίπου το ίδιο ύψος.

11 Δομές Δεδομένων 11 Η Λύση Δένδρα AVL Adel'son Vel'skii Landis

12 Δομές Δεδομένων 12 Δένδρα AVL Ή διαφορά των υψών του αριστερού και του δεξιού υποδένδρου δεν πρέπει να ξεπερνά το 1. Αυτό πρέπει να ισχύει αναδρομικά για όλους τους κόμβους του δένδρου.

13 Δομές Δεδομένων 13 Δένδρα AVL Τρόπος Λειτουργίας Η αναζήτηση είναι ίδια όπως και σε ένα απλό δυαδικό δένδρο αναζήτησης. Μετά από κάθε εισαγωγή και διαγραφή πρέπει να γίνει έλεγχος για το αν ικανοποιείται ο περιορισμός του AVL (διαφορά των υψών των υποδένδρων).

14 Δομές Δεδομένων 14 Δένδρα AVL Σε περίπτωση που δεν υπάρχει πρόβλημα στη δομή του δένδρου, τότε δεν απαιτείται καμία άλλη ενέργεια. Διαφορετικά θα πρέπει να γίνουν δομικές αλλαγές στο δένδρο ώστε να προκύψει πάλι ένα δένδρο AVL.

15 Δομές Δεδομένων 15 Περιστροφές  Έχουμε δύο είδη περιστροφών –Απλή περιστροφή Περιστρέφονται δύο κόμβοι –Διπλή περιστροφή Περιστρέφονται τρεις κόμβοι  Πρώτα θα δούμε τι είναι αυτές οι περιστροφές και στη συνέχεια θα εξετάσουμε τη χρήση τους

16 Δομές Δεδομένων 16 Απλή Περιστροφή Περίπτωση 1

17 Δομές Δεδομένων 17 Απλή Περιστροφή Περίπτωση 2

18 Δομές Δεδομένων 18 Απλή Περιστροφή - Παράδειγμα Αυτό είναι ένα δένδρο AVL h h+1

19 Δομές Δεδομένων 19 Απλή Περιστροφή - Παράδειγμα h h+2 Εισαγωγή 02 Μετά την εισαγωγή του κόμβου 2 το δένδρο που προκύπτει ΔΕΝ είναι AVL

20 Δομές Δεδομένων 20 Απλή Περιστροφή - Παράδειγμα h h h+1 A B C x y

21 Δομές Δεδομένων 21 Μετά την Περιστροφή A BC x y

22 Δομές Δεδομένων 22 Απλή Περιστροφή Μερικές φορές το πρόβλημα σε λύνεται με απλή περιστροφή k2 k1 X Y Z X Y Z k2 h+2 h h Τι μπορούμε να κάνουμε; Διπλή περιστροφή !

23 Δομές Δεδομένων 23 Διπλή Περιστροφή Περίπτωση 3

24 Δομές Δεδομένων 24 Διπλή Περιστροφή Περίπτωση 4

25 Δομές Δεδομένων 25 Διπλή Περιστροφή - Παράδειγμα Αυτό είναι ένα δένδρο AVL h h+1 Διαγραφή του κόμβου 94

26 Δομές Δεδομένων 26 Διπλή Περιστροφή - Παράδειγμα Παραβιάζεται ο ορισμός του AVL h h+2

27 Δομές Δεδομένων 27 Διπλή Περιστροφή - Παράδειγμα B1B2 C A x y z

28 Δομές Δεδομένων 28 Μετά τη Διπλή Περιστροφή AB1B2C xy z

29 Δομές Δεδομένων 29 Δένδρα Πολλών Δρόμων Page 166 Δένδρο 5 δρόμων

30 Δομές Δεδομένων 30 Παράδειγμα Δένδρο 5 δρόμων 31 κόμβοι 3 επίπεδα Δυαδικό δένδρο 31 κόμβοι 5 επίπεδα


Κατέβασμα ppt "Δομές Δεδομένων 1 - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees) - Δένδρα Αναζήτησης m-δρόμων - Πολυδιάστατα Δένδρα (multidimensional trees)"

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


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