έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

Σχετικά έγγραφα
Ισοζυγισμένα υαδικά έντρα Αναζήτησης

9. Κόκκινα-Μαύρα Δέντρα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

έντρα Πολλαπλής ιακλάδωσης και (a, b)- έντρα

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΗΥ360 Αρχεία και Βάσεις εδοµένων

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Red-black δέντρα (Κεφ. 5)

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5)

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Κεφ.11: Ευρετήρια και Κατακερματισμός

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

Διάλεξη 18: B-Δένδρα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

ΠΛΗ111. Ανοιξη Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Εκτενείς Δομές Δεδομένων

Προγραμματισμός Ι (ΗΥ120)

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Ουρά Προτεραιότητας: Heap

8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

Διδάσκων: Κωνσταντίνος Κώστα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Βάσεις Δεδομένων ΙΙ Ενότητα 6

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Εκτενείς Δομές Δεδομένων

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα

Διδάσκων: Παναγιώτης Ανδρέου

Red-Black Δέντρα. Red-Black Δέντρα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Δομές Δεδομένων και Αλγόριθμοι

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

εντρικά Ευρετήρια έντρα Αναζήτησης

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Διάλεξη 14: Δέντρα IV - B-Δένδρα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ιαφάνειες παρουσίασης #10 (β)

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Ουρά Προτεραιότητας: Heap

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Ουρές προτεραιότητας

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

4. Συνδεδεμένες Λίστες

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρα 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

Διαχρονικές δομές δεδομένων

Ισοζυγισµένο έντρο (AVL Tree)

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M

υαδικά έντρα Αναζήτησης

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δομές Δεδομένων και Αλγόριθμοι

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

Transcript:

έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών δρόμων Π Α (Multi-way Search Trees) έντρα αναζήτησης με πολλά παιδιά ανά κόμβο (γενίκευση των Α) Λόγω των πολλών παιδιών ανά κόμβο, έχουν μικρότερο ύψος από Α Επομένως, λιγότερα βήματα και χρόνο αναζήτησης Καταλληλότερα για δομές εξωτερικής αποθήκευσης Κόκκινα-μαύρα δέντρα αναζήτησης Μια άλλη περίπτωση ισοζυγισμένων δυαδικών δέντρων αναζήτησης (ομοιότητες με AVL)

έντρα 2-3-4 υαδικό δέντρο αναζήτησης ( Α) Κάθε κόμβος έχει ένα στοιχείο και το πολύ δύο παιδιά έντρο αναζήτησης πολλαπλών δρόμων (Π Α) Περισσότερα στοιχεία και παιδιά ανά κόμβο Τα Π Α δεν είναι εν γένει ισοζυγισμένα (όπως τα Α) Τα έντρα 2-3-4 Πολυκατευθυνόμενα δέντρα που μπορούν να έχουν ως τέσσερα παιδιά και τρία στοιχεία ανά κόμβο Όλοι οι κόμβοι-φύλλα έχουν το ίδιο βάθος στο δέντρο Είναι ισοζυγισμένα δέντρα

έντρα 2-3-4 Τα 2, 3 και 4 αναφέρονται στον αριθμό των συνδέσεων με κόμβους παιδιά που μπορεί να περιέχονται σε ένα δεδομένο κόμβο Για μη τερματικούς κόμβους τρεις περιπτώσεις είναι πιθανές: Κόμβος με ένα στοιχείο έχει πάντα δύο παιδιά Κόμβος με δύο στοιχεία έχει πάντα τρία παιδιά Κόμβος με τρία στοιχεία έχει πάντα τέσσερα παιδιά Γενικά ισχύει Αριθμός συνδέσεων με παιδιά = αριθμός στοιχείων + 1

25 2-κόμβος 12 33 37 40 62 3-κόμβος 27 33 51 55 59 83 50 75 95 4-κόμβος 30 35 55 78 100 105

Οργάνωση δέντρου 2-3-4 Α Β C Κόμβοι με κλειδιά μικρότερα από Α Κόμβοι με κλειδιά μεταξύ Α και Β Κόμβοι με κλειδιά μεταξύ Β και C Κόμβοι με κλειδιά μεγαλύτερα από C

Αναζήτηση σε 2-3-4 δέντρο 50 64>50 Αναζήτηση 64 30 60 70 80 60<64<70 10 20 40 51 62 64 66 75 83 86

Εισαγωγή σε 2-3-4 δέντρο 25 55 11 42 74 5 9 13 23 30 44 47 63 67 72 97 Εισαγωγή 18 25 55 11 42 74 5 9 13 18 23 30 44 47 63 67 72 97

Εισαγωγή με διαίρεση κόμβου Η εισαγωγή νέου στοιχείου γίνεται πάντα σε κόμβο φύλλο Εάν βρεθεί ένας πλήρης κόμβος στη διαδρομή ως το σημείο εισαγωγής Ο κόμβος αυτός θα διαιρεθεί Έστω Α, Β, C τα στοιχεία στον κόμβο που πρόκειται να διαιρεθεί ημιουργία νέου κόμβου. Είναι αδερφός του κόμβου που διαιρείται και τοποθετείται στα δεξιά του Στοιχείο C Νέος κόμβος Στοιχείο Β γονέας του κόμβου που διαιρείται Στοιχείο Α παραμένει ως έχει Τα δύο πιο δεξιά παιδιά αποσυνδέονται από τον κόμβο που διαιρείται και συνδέεται με το νέο κόμβο

62 29 83 92 104 Α Β C 19 47 74 87 89 97 112 Εισαγωγή 99 29 62 92 B 83 A 104 C Νέος κόμβος 19 47 74 87 89 97 99 112

ιαίρεση ρίζας 26 49 72 Α Β C Εισάγεται το 41 9 13 31 35 52 61 82 49 B 26 72 Α C 9 13 31 35 41 52 61 82

Απόδοση δέντρων 2-3-4 Υπάρχουν μέχρι 4 παιδιά ανά κόμβο Αν κάθε κόμβος ήταν πλήρης, το ύψος του δέντρου θα ήταν ανάλογο του log 4 N Συνήθως δεν είναι πλήρεις, οπότε το ύψος ενός δέντρου 2-3-4 είναι ανάμεσα σε log 2 (N+1) και log 2 (N+1)/2

Απόδοση δέντρων 2-3-4 Υπάρχουν μέχρι 4 παιδιά ανά κόμβο Αν κάθε κόμβος ήταν πλήρης, το ύψος του δέντρου θα ήταν ανάλογο του log 4 N εδομένου ότι όλοι οι κόμβοι είναι πλήρεις, το ύψος του 2-3-4 δέντρου θα είναι περίπου το μισό ενός ισοζυγισμένου δυαδικού δέντρου Συνήθως δεν είναι πλήρεις, οπότε το ύψος ενός δέντρου 2-3-4 είναι ανάμεσα σε log 2 (N+1) και log 2 (N+1)/2 Το μειωμένο ύψος του δέντρου 2-3-4 μειώνει κατά τι τους χρόνους αναζήτησης σε σχέση με τα ισοζυγισμένα δυαδικά δέντρα

Απόδοση δέντρων 2-3-4 (συνέχεια...) Ο χρόνος αναζήτησης αυξάνει στα 2-3-4 καθώς υπάρχουν περισσότερα στοιχεία προς εξέταση σε κάθε κόμβο Τα στοιχεία στον κόμβο εξετάζονται με γραμμική αναζήτηση Οι χρόνοι αναζήτησης αυξάνονται κατά μία ποσότητα ανάλογη του Μ (μέσου όρου στοιχείων ανά κόμβο) Χρόνος αναζήτησης ανάλογος του Μ*log 4 Ν Ο αυξανόμενος αριθμός στοιχείων ανά κόμβο τείνει να καταργήσει την επίδραση του μειωμένου ύψους του δέντρου Χρόνοι αναζήτησης για ένα δέντρο 2-3-4 και για ένα ισοζυγισμένο δυαδικό είναι περίπου ίσοι τάξης Ο(logN).

Πολλαπλών δρόμων δέντρα αναζήτησης

Πολλαπλών-δρόμων δέντρα αναζήτησης (Π Α) Γενίκευση των Α Κατάλληλα για δίσκο Π Α τάξης n: Κάθε κόμβος έχει n ή λιγότερα υποδέντρα S 1 S 2.S m, m n Κάθε κόμβος έχει n-1 ή λιγότερα κλειδιά K 1 Κ 2 Κ m-1 :m-1 κλειδιά σε αύξουσα σειρά K(S i ) Κ i K(S i+1 ), K(S m-1 ) < K(S m )

Π Α για δίσκο Οι κόμβοι αντιστοιχούν σε σελίδες δίσκου Πλεονεκτήματα: Ύψος δέντρου είναι χαμηλό για μεγάλο n Λιγότερες προσπελάσεις στο δίσκο Μειονεκτήματα: Χαμηλότερη χρησιμοποίηση χώρου εάν δεν είναι γεμάτοι οι κόμβοι Τα Π Α γενικά δεν είναι ισοζυγισμένα!

Λειτουργίες Π Α Αναζήτηση: Επιστρέφει δείκτη στον κόμβο που περιέχει το κλειδί και τη θέση του κλειδιού στο κόμβο Εισαγωγή νέου κλειδιού εάν δεν υπάρχει ήδη στο δέντρο ιαγραφή υπάρχοντος κλειδιού

Σημαντικά θέματα ιατήρησε το Π Α ισοζυγισμένο μετά από εισαγωγές ή διαγραφές Ισοζυγισμένα Π Α: B-δέντρα, B+-δέντρα Μειωμένος αριθμός προσπελάσεων του δίσκου Αποθήκευση δεδομένων: δύο εναλλακτικές Εσωτερικοί κόμβοι: λιγότερα υποδέντρα, κόμβοι είκτες από τους κόμβους σε σελίδες δεδομένων

Αναζήτηση σε Π Α

Εισαγωγή σε Π Α Αναζήτηση & εισαγωγή κλειδιού εάν δεν υπάρχει Το δέντρο μεγαλώνει στα φύλλα => το δέντρο γίνεται μη ισοζυγισμένο => όχι ίσος αριθμός από προσπελάσεις του δίσκου για κάθε κλειδί Το σχήμα του δέντρου εξαρτάται από την ακολουθία των εισαγωγών Χαμηλή χρήση χώρου αποθήκευσης, πολλοί μη-πλήρεις κόμβοι

Εισαγωγή: 70 75 82 77 71 73 84 86 87 85

ιαγραφές σε Π Α Βρες και διέγραψε ένα κλειδί από έναν κόμβο ιαγραφή κλειδιού εάν έχει κενό αριστερό ή δεξί υποδέντρο Εάν είναι το μόνο κλειδί σε έναν κόμβο: ελευθέρωσε τον κόμβο Εάν το κλειδί έχει και αριστερά και δεξιά υποδέντρα => βρες τους απογόνους του, βάλε το διάδοχο στη θέση του κλειδιού και διέγραψε τον απόγονο Το δέντρο γίνεται μη ισοζυγισμένο