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



Σχετικά έγγραφα
5 ΔΕΝΤΡΑ (Trees) Σχήµα 5.1 : ενδροειδής αναπαράσταση αρχείων στα Windows. έντρα. \ {root directory} Accessories. Program Files.

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

υαδικό έντρο Αναζήτησης (BSTree)

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

ΔυαδικάΔΕΝΔΡΑΑναζήτησης

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

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

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

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

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

Σημειώσεις ένατης εβδομάδας

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

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

Συγκρίσιμα Αντικείμενα (comparable)

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

AVL-trees C++ implementation

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

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

Μάθημα 22: Δυαδικά δέντρα (Binary Trees)

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

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

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

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

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

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

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

Δομές Δεδομένων (Data Structures)

ιαφάνειες παρουσίασης #11

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων Ενότητα 5

Εργαστήριο 2 Δυναμικές Δομές Δεδομένων Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι

Οντοκεντρικός Προγραμματισμός

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

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

Δομές Δεδομένων. Ενότητα 9: Τα ΔΔΑ ως Αναδρομικές Δομές Δεδομένων-Εφαρμογή Δυαδικών Δέντρων: Κωδικοί Huffman. Καθηγήτρια Μαρία Σατρατζέμη

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

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

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

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ. Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής

Εργαστήριο 8: Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ

Συνδεδεμένη Λίστα (Linked List)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

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

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

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής T.E.I. ΘΕΣΣΑΛΟΝΙΚΗΣ

Αναδρομικοί Αλγόριθμοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΡΩΤΗ ΠΡΟΟΔΟΣ ΣΤΗΝ «ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Y»

Εργαστήριο 5 Αναδρομική διεργασία εισαγωγής καινούριου κόμβου σε ΔΔΑ με αλφαβητική σειρά

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

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

Δομές Δεδομένων και Αλγόριθμοι (Γ εξάμηνο) Τμήμα Μηχανικών Πληροφορικής ΤΕ, ΤΕΙ Ηπείρου. Άσκηση εργαστηρίου #6 (Υλοποίηση δυαδικού δένδρου αναζήτησης)

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

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

1 Εισαγωγή στις οµές εδοµένων 2. 2 Στοίβα (Stack) 4. 3 Ουρά (Queue) 7. 4 Λίστα (List) 9. 5 Συνδεδεµένη Λίστα (Linked List) 14

Δοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης

Δοµές Δεδοµένων. 12η Διάλεξη Διάσχιση Δέντρων και Ουρές Προτεραιότητας. Ε. Μαρκάκης

Κύρια σηµεία για µελέτη. έντρα. Ορολογία δέντρων. Τι είναι δέντρο

Δομές Δεδομένων & Ανάλυση Αλγορίθμων. 3ο Εξάμηνο. Ουρά (Queue) Υλοποίηση της με τη βοήθεια πίνακα.

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

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

Διάλεξη 21η: Απλά Συνδεδεμένες Λίστες

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

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

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

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

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

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

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

Λίστες παράλειψης (skip lists)

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

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

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

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

Διάλεξη 15: Αναδρομή (Recursion) Διδάσκων: Παναγιώτης Ανδρέου

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

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

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

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

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

Δομές Δεδομένων - Εργαστήριο 5. Ουρές Προτεραιότητας

Αλγόριθµοι Divide-and- Conquer

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

Βασικές Έννοιες Θεωρίας Γραφημάτων

Transcript:

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Δέντρα Δυαδικά Δέντρα Δυαδικά Δέντρα Αναζήτησης (inary Search Trees) http://aetos.it.teithe.gr/~demos/teaching_r.html Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής TI ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TRS) H I J K L M 1

ΔΕΝΤΡΑ (TRS) Oρισμός 1: Δέντρο (tree) είναι ένα σύνολο T από κόμβους (nodes), τέτοιο ώστε είτε: (α)tο Tείναι κενό ή (β) Tο T περιλαμβάνει ένα ξεχωριστό κόμβο, R, που ονομάζεται ρίζα (root) του Tκαι οι υπόλοιποι κόμβοι T -{Rχωρίζονται σε μηδέν ή περισσότερα σύνολα κόμβων, T1, T2,..., Tn, που είναι ξένα μεταξύ τους και τα οποία είναι με τη σειρά τους δέντρα. TαT1, T2,..., Tn, ονομάζονται υποδέντρα του T. Oρισμός 2: Δέντροείναι μία συλλογή από στοιχεία, που ονομάζονται κόμβοι. Oι κόμβοι του δέντρου συνδέονται μεταξύ τους με τη βοήθεια ακμών (arcs) με βάση τους εξής κανόνες: (α)yπάρχει ένας και μόνον ένας κόμβος στον οποίο δεν καταλήγει καμία ακμή (η Pίζα {Rootτου δέντρου). (β)σε όλους τους υπόλοιπους κόμβους καταλήγει υποχρεωτικά μία και μόνο μία ακμή. ΔΕΝΤΡΑ (TRS) H I J K L M T = {,,,,,,, H, I, J, K, L, M :η ρίζα του του έντρου Το σύνολο T - { χωρίζεται σε τρία υποδέντρα: T1 = {,,,, T2 = {, H, I και T3 = {, J, K, L, M 2

ΔΥΑΔΙΚΑ ΔΕΝΤΡΑ (INRY TRS) ΟΡΙΣΜΟΣ 3: Δυαδικό δέντρο (binarytree)είναι ένα δέντρο του οποίου κάθε κόμβος έχει το πολύ δύο υποδέντρα. Tα υποδέντρα του δυαδικού δέντρου ονομάζονται αριστερό και δεξιό υποδέντρο αντίστοιχα. Αναπαράσταση Δυαδικού Δέντρου με τη βοήθεια συνδεδεμένης δομής Root Root.left Root.right null null null null null null null null 3

Αναπαράσταση Δυαδικού Δέντρου με τη βοήθεια συνδεδεμένης δομής class TreeNode { TreeNode left; int item; TreeNode right; public TreeNode(int data) { item = data; left = right = null;.. // class TreeNode συνέχεια public void insert(int d) { if (d < item) { if (left == null) left = new TreeNode(d); left.insert(d); if (right == null) right = new TreeNode(d); right.insert(d); 4

νθεματική Διέλευση (Inorder Traversal ) από τους κόμβους ενός Δυαδικού Δέντρου private void inorder(treenode node) inorder(node.left); inorder(node.right); Προθεματική Διέλευση (Preorder Traversal ) από τους κόμβους ενός Δυαδικού Δέντρου private void preorder(treenode node) preorder(node.left); preorder(node.right); 5

Επιθεματική Διέλευση (Postorder Traversal ) από τους κόμβους ενός Δυαδικού Δέντρου private void postorder(treenode node) postorder(node.left); postorder(node.right); public class STree { TreeNode root; Δυαδικό Δέντρο Αναζήτησης public STree( ) { root = null; public void insertnode(int d) { if (root == null) root = new TreeNode(d); root.insert(d); 6

Δυαδικό Δέντρο Αναζήτησης // public class STree (συνέχεια) public void inordertraversal( ) { inorder(root); private void inorder(treenode node) inorder(node.left); inorder(node.right); 7