Ορισμοί Ιεραρχικός Μη γραμμικός τύπος δεδομένων Γονέας – Παιδιά

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Παράδειγμα 1:Σειριακή αναζήτηση
Advertisements

Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Δομές Δεδομένων - Δυαδικά Δένδρα (binary trees)
ΗΥ150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Ταξινόμηση και Αναζήτηση.
Ταξινόμηση και Αναζήτηση
Θεωρία Βασικών Δομών Δεδομένων Διδάσκοντες:Μακρής Χρήστος, Τσακαλίδης Αθανάσιος
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ150 – ΠρογραμματισμόςΞενοφών Ζαμπούλης ΗΥ-150 Προγραμματισμός Αναδρομή (1/2)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Φυσική Α γυμνάσιου. Φυσικά Φαινόμενα Έκρηξη ηφαιστείου Βροχή κεραυνός Έκρηξη ηφαιστείου Βροχή κεραυνός.
ZΕπίδοση αλγορίθμων zΠολυπλοκότητα αλγορίθμων Κεφάλαιο 5 : Ανάλυση Αλγορίθμων.
Αναζήτηση σε πίνακα Αναζήτηση σε πίνακα που περιέχει ακέραιους αριθμούς.
Εισαγωγή στη Βιοπληροφορική Ενότητα 8: Δομές Δεικτοδότησης Μακρής Χρήστος, Τσακαλίδης Αθανάσιος, Περδικούρη Αικατερίνη Πολυτεχνική Σχολή Τμήμα Μηχανικών.
Τι είναι η Ακολουθία Φιμπονάτσι και ποιος ο ρόλος της στην Επιστήμη, στη βιολογία και στην τέχνη; 1o ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΓΥΜΝΑΣΙΟ ΠΛΑΚΑΣ ΤΜΗΜΑ B΄3 ΘΕΜΑ.
ΣΥΣΤΗΜΑΤΑ ΥΠΟΣΤΗΡΙΞΗΣ ΑΠΟΦΑΣΕΩΝ Δημήτριος Κ. Καρδαράς
Οι Δομές Δεδομένων Ουρά και Στοίβα
Ο σχεδιασμός και η ανάπτυξη υλικού διαδικτυακής μάθησης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
ΚΩΝ/ΝΟΣ ΜΗΛΙΟΣ, MSc, PhD Δ/ΝΣΗ ΚΤΗΝΙΑΤΡΙΚΗΣ ΠΔΕ
Δενδρικές Μέθοδοι Προσπέλασης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Δένδρα.
5η Διάλεξη Λίστες και αρχές ανάλυσης αλγορίθμων Ε. Μαρκάκης
18η Διάλεξη Ισορροπημένα δέντρα Ε. Μαρκάκης
Δυαδικό Σύστημα Δεκαδικό Σύστημα Δεκαεξαδικό Σύστημα
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Ψηφιακή Σχεδίαση εργαστήριο
Λογικός Σχεδιασμός Σχεσιακών Σχημάτων
ΠΕΤΡΟΛΟΓΙΑ ΜΑΓΜΑΤΙΚΩΝ & ΜΕΤΑΜΟΡΦΩΜΕΝΩΝ ΠΕΤΡΩΜΑΤΩΝ
Εισαγωγή στον Προγ/μό Υπολογιστών
Στατιστική Επιχειρήσεων
Υπολογισμός της σταθεράς του ελατηρίου
Κροταφική πλευρά δεξιού ματιού (αριστερό οπτικό πεδίο)
Ασκήσεις Θεωρία πληροφορίας και στοιχεία κωδίκων
Ο άνθρωπος πάντα αισθανόταν εγκλωβισμένος στη γη…
Δύναμη και κίνηση Γιατί το κιβώτιο σταματά;
Άσκηση 4 (7η Άσκηση εργαστηριακού οδηγού) Β Γυμνασίου
«Ανάπτυξη εφαρμογής για τη διαχείριση μεθόδων αναζήτησης σε οπτικοποιημένο περιβάλλον»  Μπλάγας Χρήστος.
11η Διάλεξη Ταξινόμηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης
Binary Decision Diagrams
ΜΥΥ105: Εισαγωγή στον Προγραμματισμό
Οι Δομές Δεδομένων Ουρά και Στοίβα
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Βελτιστοποίηση και Επεξεργασία Ερωτημάτων
Άσκηση 3 Σώμα μάζας m=2kg ηρεμεί σε οριζόντιο επίπεδο. Κάποια στιγμή ασκούνται ταυτόχρονα στο σώμα δύο δυνάμεις F1=10N και F2=5N, όπως φαίνεται στο σχήμα.
? Πώς … Πώς ένα ηλεκτρονικό κύκλωμα αναγνωρίζει δεδομένα και εντολές;
ONLINE ΕΙΣΑΓΩΓΗ ΠΑΚΕΤΩΝ ΚΑΙ OBLIVOUS ΔΡΟΜΟΛΟΓΗΣΗ ΣΕ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ ONLINE ΕΙΣΑΓΩΓΗ ΠΑΚΕΤΩΝ ΚΑΙ OBLIVOUS ΔΡΟΜΟΛΟΓΗΣΗ ΣΕ ΔΙΚΤΥΑ ΑΙΣΘΗΤΗΡΩΝ Ζώντου Αικατερίνη.
Αναδρομικές Εξισώσεις και Αφηρημένοι Τύποι Δεδομένων
Philip McCann Αστική και περιφερειακή οικονομική 2η έκδοση
ΣΧΕΔΙΑΣΜΟΣ ΔΥΝΑΜΕΩΝ ΒΑΡΟΣ Κατεύθυνση πάντα κατακόρυφη Προς τα κάτω w.
ΤΕΙ Δυτικής Μακεδονίας Τμήμα Λογιστικής και Χρηματοοικονομικής
Отпор кретању тела.
מבני נתונים ויעילות אלגוריתמים
Proračun u dinamičkim uslovima (odredjivanje kritičnih napona)
תרגול 3 - רקורסיות 3 שיטות עיקריות לפתור נוסחאות זמן ריצה רקורסיביות:
THIẾT KẾ VÀ ĐÁNH GIÁ THUẬT TOÁN
تئوری الاستیسیته Theory of Elasticity كريم عابدي.
Ενότητα A5.1.2γ (Αποθήκευση Αρχείων από το Διαδίκτυο )
ΑΣΚΗΣΗ 4: Θεμελιώδης Νόμος της Μηχανικής
Γυμνάσιο Νέας Κυδωνίας
Lower Bound for Partial Sums
Υπολογισμός της σταθεράς του ελατηρίου
Δομές Δεδομένων (Data Structures)
12η ΕΝΟΤΗΤΑ «ΑΘΗΝΑ ΚΑΙ ΑΤΛΑΝΤΙΔΑ».
Ενότητα A5.1.2β (Εντοπισμός Πληροφοριών στον Ιστό )
1ος νΟμος του ΝεΥτωνα Αν η συνισταμένη των δυνάμεων που ασκούνται σε ένα σώμα είναι ίση με μηδέν (ΣF=0N) τότε το σώμα ή θα ηρεμεί (υ=0) ΣF= 0 F υ=0 B.
Μεταγράφημα παρουσίασης:

Ορισμοί Ιεραρχικός Μη γραμμικός τύπος δεδομένων Γονέας – Παιδιά Μη γραμμικός τύπος δεδομένων Γονέας – Παιδιά Αδέλφια: κόμβοι με κοινό πατέρα Πρόγονοι – Απόγονοι Ρίζα: κόμβος που δεν έχει γονέα Φύλλα: κόμβοι χωρίς παιδιά Ο γραμμικός χρόνος που απαιτούν οι διασυνδεδεμένες λίστες μπορεί να βελτιωθεί σε Ο(lgn) με χρήση δέντρων. Οι κόμβοι ενός δέντρου συνδέονται με πολύ πλουσιότερες σχέσεις από το «προηγούμενος» - «επόμενος» των γραμμικών δομών δεδομένων. Υποστηρίζουν και γραμμικότητα...

Δυαδικό Δέντρο Δέντρο, όπου κάθε κόμβος έχει το πολύ δύο παιδιά, το αριστερό και το δεξί. Μπορεί να έχει και ένα μόνον παιδί. Σε ένα γνήσιο δυαδικό δέντρο κάθε κόμβος έχει 0 ή 2 παιδιά. Α E H L N U Y R W X C D

Πλήρες δυαδικό δένδρο Αν σε όλα τα επίπεδά του, εκτός ίσως από το τελευταίο, έχει τον μέγιστο δυνατό αριθμό κόμβων και όλοι οι κόμβοι στο τελευταίο επίπεδο βρίσκονται όσο το δυνατό στα αριστερά του δένδρου.

Στατική Αναπαράσταση (1)

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

Συνδεδεμένη Αναπαράσταση (1)

Δυαδικά δένδρα αναζήτησης Binary search trees Δυαδικά δένδρα με τις παρακάτω ιδιότητες για κάθε κόμβο: όλοι οι κόμβοι του αριστερού παιδιού έχουν τιμές μικρότερες της τιμής του κόμβου όλοι οι κόμβοι του δεξιού παιδιού έχουν τιμές μεγαλύτερες ή ίσες της τιμής του κόμβου 10 5 34 58 71 17

Δέντρα δυαδικής αναζήτησης Η γενική εικόνα ενός τέτοιου δέντρου >=

Παραδείγματα δυαδικών δέντρων αναζήτησης Εγκυρα δέντρα

Παραδείγματα δυαδικών δέντρων αναζήτησης Μη-έγκυρα δέντρα

ΑΝΑΖΗΤΗΣΗ Συγκρίνουμε τη ρίζα του δένδρου με το υπό αναζήτηση στοιχείο και αν η τιμή του στοιχείου είναι μικρότερη, τότε προχωρούμε στο αριστερό παιδί της ρίζας, αν είναι μεγαλύτερη, τότε προχωρούμε στο δεξί παιδί της ρίζας. Το προηγούμενο βήμα επαναλαμβάνεται μέχρις ότου (α) συναντήσουμε το προς αναζήτηση στοιχείο (επιτυχία) ή (β) συναντήσουμε το κενό (υπο)δένδρο (αποτυχία).

ΕΙΣΑΓΩΓΗ Αν το δοθέν δένδρο είναι το κενό δένδρο τότε ο κόμβος του στοιχείου γίνεται η ρίζα του δένδρου. Αλλιώς, αν το στοιχείο δεν υπάρχει τότε γίνεται εισαγωγή του στοιχείου σαν ρίζα του αντίστοιχου (αριστερού ή δεξιού) κενού υποδένδρου που ανιχνεύθηκε με τον βασικό αλγόριθμο αναζήτησης. Τέλος, αν το στοιχείο υπάρχει, δεν τίθεται θέμα εισαγωγής του.

Εισαγωγή στοιχείου σε ΔΔΑ Βασική ιδιότητα ΔΔΑ: Η εισαγωγή γίνεται πάντα σε κάποιο (νέο) φύλλο Διαδικασία: Αναζήτηση του στοιχείου (οπότε καταλήγουμε σε κόμβο-φύλλο) Εισαγωγή του ως παιδί εκείνου του κόμβου

ΔΙΑΓΡΑΦΗ (1) Αν βρεθεί ο κόμβος Νx που έχει το στοιχείο, τότε ακολουθείται η εξής διαδικασία (τρεις περιπτώσεις): Αν ο Νx δεν έχει παιδιά, τότε διαγράφεται ο Νx και τη θέση του καταλαμβάνει το κενό δένδρο. Αν ο Νx έχει μόνο ένα παιδί, τότε διαγράφεται ο Νx και τη θέση του καταλαμβάνει το μοναδικό παιδί του.

ΔΙΑΓΡΑΦΗ (2)

Πολυπλοκότητα δέντρων Αναζήτηση με πολυπλοκότητα Από Ο(Ν) [χειρότερη περίπτωση] Μέχρι Ο(Log2N) [καλύτερη περίπτωση]

Υψος ΔΔΑ (1) Στη γενική περίπτωση όμως (όταν οι εισαγωγές και οι διαγραφές γίνονται τυχαία), το ύψος είναι O(logn) κατά μ.ό.

Υψος ΔΔΑ (2) Για το ύψος h ενός πλήρους δένδρου n κόμβων ισχύει (πάνω όριο): h  logn. Ο ελάχιστος αριθμός κόμβων σε ένα πλήρες δένδρο ύψους h είναι (20+21+22+ … +2h-1) + 1 δηλαδή, συμπληρωμένα τα επίπεδα μέχρι ύψος (h-1) συν ένα κόμβο από το τελευταίο επίπεδο. Αλλά (20+21+22+ … +2h-1) = 2h-1, οπότε ο ελάχιστος αριθμός κόμβων γίνεται τελικά (2h-1) + 1 = 2h. Δηλαδή, για ένα δένδρο n στοιχείων, είναι n  2h  logn  log(2h)  h  logn.

ΣΥΓΚΡΙΣΕΙΣ Για ένα «μέσο» δένδρο η πολυπλοκότητα είναι f(n) = O(logn)