Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Σχετικά έγγραφα
Κεφάλαιο 10 Ψηφιακά Λεξικά

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

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

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

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

a n + 6a n a n 2 + 8a n 3 = 0, a 0 = 1, a 1 = 2, a 2 = 8

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

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

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

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

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

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Συμπίεση χωρίς Απώλειες

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

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

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

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

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

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

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

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

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

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

Αλγόριθµοι και Πολυπλοκότητα

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

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

Ουρά Προτεραιότητας (priority queue)

Κεφάλαιο 7 Λεξικά και Δυαδικά Δένδρα Αναζήτησης

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

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

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

Μη γράφετε στο πίσω μέρος της σελίδας

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

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

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

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

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Μαθηµατικά για Πληροφορική

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Παράδειγμα δομικής επαγωγής Ορισμός δομικής επαγωγής Συμβολοσειρές Γλώσσες Δυαδικά δένδρα Μαθηματικά Πληροφορικής 3ο Μάθημα Αρχικός συγγραφέας: Ηλίας

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

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

Ταξινόμηση με συγχώνευση Merge Sort

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

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

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

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

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων:

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

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

Ο Αλγόριθμος FP-Growth

Ανάλυση Συσχέτισης IΙ

3 Αναδροµή και Επαγωγή

Κωδικοποίηση Πηγής. Η λειτουργία ενός συστήματος επικοινωνίας (γενικό διάγραμμα):

Δυναμική Διατήρηση Γραμμικής Διάταξης

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

Περιεχόμενα. Περιεχόμενα

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

Θεωρία πληροφοριών. Τεχνολογία Πολυµέσων 07-1

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

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Δένδρα Αποφάσεων. Δρ. Β. Βασιλειάδης ΔΙΚΣΕΟ, ΑΤΕΙ Μεσολογγίου

Διάλεξη 6 η :Δένδρα Αποφάσεων. Β. Βασιλειάδης Τµ. Διοικ. Επιχειρήσεων, ΤΕΙ ΔΥΤ. ΕΛΛΑΔΑΣ

Σειρά Προβλημάτων 1 Λύσεις

Πληροφορική 2. Δομές δεδομένων και αρχείων

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Συστήματα Αρίθμησης ΔΥΑΔΙΚΟ ΣΥΣΤΗΜΑ ΑΡΙΘΜΗΣΗΣ

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

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

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

Ουρά Προτεραιότητας (priority queue)

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

Προσεγγιστικοί Αλγόριθμοι

Θεωρία Γραφημάτων 6η Διάλεξη

Transcript:

Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση για να αποθηκεύσουμε τα στοιχεία σε ένα -αδικό δένδρο : Ένας εσωτερικός κόμβος έχει μία εξερχόμενη ακμή για κάθε σύμβολο

Tries Ένα trie (από retrieval) είναι ένα ψηφιακό δένδρο όπου : Τα στοιχεία αποθηκεύονται στα φύλλα του δένδρου. Οι ακμές του μονοπατιού από τη ρίζα προς το φύλλο που αποθηκεύει ένα στοιχείο σχηματίζουν ένα πρόθεμα. Θα εστιάσουμε στην περίπτωση. Αναδρομικός ορισμός Ένα trie με στοιχεία είναι ένα δυαδικό δένδρο το οποίο αποθηκεύει στοιχεία στα φύλλα του και ορίζεται αναδρομικά ως εξής : : το trie είναι ένας κενός κόμβος. : το trie είναι ένα φύλλο που περιέχει το μοναδικό στοιχείο. : το trie αποτελείται από ένα εσωτερικό κόμβο ρίζα του οποίου ο αριστερός σύνδεσμος αναφέρεται σε trie που περιέχει τα στοιχεία με το πρώτο ψηφίο και ο δεξιός σύνδεσμος αναφέρεται σε trie που περιέχει τα στοιχεία με το πρώτο ψηφίο. Το πρώτο ψηφίο αφαιρείται για την κατασκευή των υποδένδρων.

Tries Αναζήτηση στοιχείου : Ξεκινάμε από τη ρίζα και ακολουθούμε τις ακμές που αντιστοιχούν στα ψηφία του μέχρι να καταλήξουμε σε φύλλο ή κενό κόμβο.

Tries Εισαγωγή στοιχείου Εκτελούμε τη διαδικασία αναζήτησης του. Έστω ο κόμβος στον οποίο καταλήγει η αναζήτηση. Έστω αριθμός των ακμών που ακολούθησε η αναζήτηση και έστω το στοιχείο που περιέχει ο. Αν ο είναι ο κενός κόμβος τότε απλά εισάγουμε στη θέση του νέο κόμβο που αποθηκεύει το στοιχείο. Διαφορετικά έστω ότι για, όπου, και. Εισάγουμε στη θέση του ένα μονοπάτι που αντιστοιχεί στα ψηφία των θέσεων από έως. Τοποθετούμε τους κόμβους που περιέχουν τα στοιχεία και ως παιδιά του τελευταίου κόμβου του μονοπατιού.

Tries Παράδειγμα : Εισαγωγή

Tries Παράδειγμα : Εισαγωγή

Tries Παράδειγμα : Εισαγωγή

Tries Παράδειγμα : Εισαγωγή

Tries Ιδιότητες Η μορφή του trie είναι ανεξάρτητη από τη σειρά εισαγωγής των στοιχείων. Κάθε δεδομένο σύνολο διακριτών στοιχείων δημιουργεί ένα μοναδικό trie. Η αναζήτηση ή εισαγωγή απαιτεί χρόνο στη χειρότερη περίπτωση. Η αναζήτηση ή εισαγωγή ενός τυχαίου στοιχείου σε trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων, απαιτεί κατά μέσο όρο χρόνο. Ένα trie κατασκευασμένο από περιέχει κατά μέσο όρο τυχαίες (διακεκριμένες) ακολουθίες ψηφίων εσωτερικούς κόμβους.

Tries Η αναζήτηση ή εισαγωγή ενός τυχαίου στοιχείου σε trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων, απαιτεί κατά μέσο όρο χρόνο. Απόδειξη Έστω ένα τυχαίο στοιχείο. Η πιθανότητα που έχει καθένα από τα στοιχεία του τυχαίου trie να διαφέρει με το σε τουλάχιστον ένα από τα πρώτα ψηφία είναι. Άρα η πιθανότητα το να ταιριάζει σε όλα τα πρώτα ψηφία με κάποιο στοιχείο του trie είναι όπου χρησιμοποιήσαμε την προσέγγιση. Άρα ο μέσος χρόνος αναζήτησης του είναι

Συμπιεσμένα Tries Για να αποφύγουμε τη σπατάλη χώρου σε ένα trie μπορούμε να συμπίεσουμε τους κόμβους που έχουν μονόδρομη διακλάδωση:

Συμπιεσμένα Tries Για να αποφύγουμε τη σπατάλη χώρου σε ένα trie μπορούμε να συμπίεσουμε τους κόμβους που έχουν μονόδρομη διακλάδωση: 4 Ο ψηφίο 4 Ο ψηφίο Σε κάθε κόμβο τοποθετούμε τον αριθμοδείκτη του ψηφίου που πρόκειται να ελεγχθεί. Επιτυγχάνει χώρο αλλά κάνει δυσκολότερη την εισαγωγή.

Συμπιεσμένα Tries Το μέσο βάθος ενός στοιχείου σε συμπιεσμένο trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων είναι. Απόδειξη Έστω η τυχαία μεταβλητή που δίνει το βάθος του trie. Έχουμε Όμως γιατί αν τότε οι υποακολουθίες από τα πρώτα ψηφία των στοιχείων είναι διακεκριμένες, ενώ τα υπόλοιπα ψηφία ενός στοιχείου μπορούν να λάβουν οποιαδήποτε τιμή, άρα

Συμπιεσμένα Tries Το μέσο βάθος ενός στοιχείου σε συμπιεσμένο trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων είναι. Απόδειξη Έστω η τυχαία μεταβλητή που δίνει το βάθος του trie. Έχουμε (πρέπει ).

Συμπιεσμένα Tries Το μέσο βάθος ενός στοιχείου σε συμπιεσμένο trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων είναι. Απόδειξη Έστω η τυχαία μεταβλητή που δίνει το βάθος του trie. Έχουμε όπου χρησιμοποιήσαμε την ανισότητα Οπότε

Patricia Tries Practical algorithm to retrieve information coded in alphanumeric Συμπιεσμένα tries που επιτυγχάνουν γρήγορη εισαγωγή. Τα στοιχεία αποθηκεύονται στους εσωτερικούς κόμβους αλλά δε χρησιμοποιούνται κατά την αναζήτηση. Αντικαθιστούμε τους συνδέσμους προς τα φύλλα με συνδέσμους οι οποίοι δείχνουν προς τα επάνω, στο σωστό εσωτερικό κόμβο του trie. Η αναζήτηση γίνεται όπως στο συμπιεσμένο trie, μόνο που ολοκληρώνεται στον πρώτο κόμβο που συναντάμε μέσω δείκτη προς τα πάνω. 2 4 4

Patricia Tries Εισαγωγή στοιχείου Εκτελούμε τη διαδικασία αναζήτησης του. Έστω ο κόμβος στον οποίο καταλήγει η αναζήτηση. Έστω το στοιχείο που αποθηκεύει ο, και έστω η πρώτη θέση στην οποία διαφωνούν τα ψηφία των και. ( για.) Ξεκινάμε ξανά από τη ρίζα και ελέγχουμε τους αριθμοδείκτες των κόμβων στο μονοπάτι αναζήτησης : Αν δεν υπάρχει κόμβος με αριθμοδείκτη κόμβο που διακρίνει το στοιχείο από το. τότε προσθέτουμε ένα νέο Διαφορετικά εισάγουμε ένα νέο κόμβο που ελέγχει το ψηφίο.

Patricia Tries Παράδειγμα : Εισαγωγή 4

Patricia Tries Παράδειγμα : Εισαγωγή 4

Patricia Tries Παράδειγμα : Εισαγωγή 4

Patricia Tries Παράδειγμα : Εισαγωγή 4

Patricia Tries Παράδειγμα : Εισαγωγή 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 2 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 2 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 2 3 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 2 3 4 4

Patricia Tries Παράδειγμα : Εισαγωγή 2 3 4 4 4

Patricia Tries Ιδιότητα Η αναζήτηση ή εισαγωγή ενός τυχαίου στοιχείου σε trie κατασκευασμένο από τυχαίες (διακεκριμένες) ακολουθίες ψηφίων, απαιτεί περίπου συγκρίσεις κατά μέσο όρο και περίπου συγκρίσεις στη χειρότερη περίπτωση.