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

Σχετικά έγγραφα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

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

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

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

Alternative to Balanced Trees, Comms of the ACM, 33(6), June 1990,

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

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

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

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

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

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

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

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

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

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

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

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

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

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

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

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

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

Φροντιστήριο 4 Σκελετοί Λύσεων

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

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

ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ. ΗΥ240 - Παναγιώτα Φατούρου 1

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

Προγραμματιστική Εργασία Μέρος Β. Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης

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

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

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

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

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

Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 3 Δέντρα

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

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

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

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

Δέντρα (Trees) - Ιεραρχική Δομή

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 3η: Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΗΥ240 - Παναγιώτα Φατούρου 1

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

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

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

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

Insert(K,I,S) Delete(K,S)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ

Οι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες

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

Αναδροµή. Σε αυτήν την (βοηθητική) ενότητα θα µελετηθούν τα εξής : Η έννοια της αναδροµής Υλοποίηση και αποδοτικότητα Αφαίρεση της αναδροµής

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

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

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

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

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

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

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

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

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

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

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

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

Προγραµµατιστική Εργασία 2 ο Μέρος

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

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

Transcript:

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του διατεταγμένου δένδρου (δηλαδή το μέγιστο πλήθος παιδιών μεταξύ των κόμβων του δένδρου). Ποιά είναι η χρονική πολυπλοκότητα του αλγορίθμου σας και γιατί; Λύση int TreeDegree (struct node * r) { int ld, rd, deg = 0; // εκτελεί μεταδιατεταγμένη διάσχιση του δένδρου Visit if (r == NULL) return 0; ld = TreeDegree (r lc ); rd = TreeDegree (r rc ); // υπολόγισε το μέγιστο βαθμό στο αριστερό υποδένδρο // υπολόγισε το μέγιστο βαθμό στο δεξιό υποδένδρο if (r lc!= NULL) deg++; // υπολόγισε το βαθμό του r, ο οποίος θα είναι 0, 1 ή 2 if (r rc!= NULL) deg++; return max{deg, ld, rd ; // επέστρεψε το μέγιστο μεταξύ του βαθμού του r και // των βαθμών ld και rd του αριστερού και δεξιού υποδένδρου, // αντίστοιχα Χρονική Πολυπλοκότητα: Η TreeDegree() εκτελεί διάσχιση στο δένδρο και για κάθε κόμβο υπολογίζει πόσα παιδιά έχει ο κόμβος. Άρα, η χρονική πολυπλοκότητα είναι O(n), όπου n είναι το πλήθος των κόμβων του δένδρου. Χωρική Πολυπλοκότητα: Για κάθε αναδρομική κλήση, δημιουργείται στη μνήμη ένα activation record για την αποθήκευση των παραμέτρων και των τοπικών μεταβλητών του στιγμιότυπου της TreeDegree() που ενεργοποιείται με την κλήση. Κάθε χρονική στιγμή έχουμε O(h) κλήσεις της TreeDegree() ταυτόχρονα ενεργές, όπου h είναι το ύψος του δένδρου. Επομένως, η μνήμη που απαιτείται για να τρέξει η TreeDegree() (επιπρόσθετα της μνήμης για την αποθήκευση του δένδρου) είναι O(h). Άσκηση 2 Γράψτε μία αναδρομική συνάρτηση, η οποία θα έχει, ως παράμετρο, ένα δείκτη στη ρίζα ενός δυαδικού δένδρου που αναπαριστά ένα (όχι απαραίτητα δυαδικό) διατεταγμένο δένδρο και θα επιστρέφει το βαθμό του διατεταγμένου δένδρου (δηλαδή το μέγιστο πλήθος παιδιών μεταξύ των κόμβων του δένδρου). Αν ο βαθμός του διατεταγμένου δένδρου είναι k, η συνάρτηση

πρέπει να εκτελείται σε O(nk), όπου n είναι το πλήθος των κόμβων του δένδρου. Εξηγήστε ποιες είναι οι διαφορές του αλγορίθμου που σχεδιάσατε συγκριτικά με τον αλγόριθμο που σχεδιάσατε στην Άσκηση 1, καθώς και γιατί αυτές οι αλλαγές είναι απαραίτητες. Επιχειρηματολογήστε για την χρονική πολυπλοκότητα του αλγορίθμου σας. Visit Λύση int TreeDegree(struct node * r) { int ld, rd, deg = 0; if (r == NULL) return 0; ld = TreeDegree(r lc); // αναδρομικές κλήσεις για διάσχιση του δένδρου rd = TreeDegree(r rs); p = r lc; while (p!= NULL) { deg++; // ξεκινώντας από το αριστερότερο παιδί του κόμβου r // διασχίζουμε όλα τα παιδιά του r // και μετράμε πόσα είναι στην μεταβλητή deg p = p rs; // έτσι η deg στο τέλος της while περιέχει το βαθμό του r return max{deg, ld, rd; // επιστρέφουμε το μέγιστο μεταξύ του βαθμού του r και // των βαθμών του αριστερού και του δεξιού του υποδένδρου Το μόνο που αλλάζει είναι ηvisit(). Η προσπέλαση των παιδιών ενός κόμβου, για να μπορέσουμε να τα μετρήσουμε και να υπολογίσουμε το βαθμό του, γίνεται προσπελάζοντας πρώτα το αριστερότερο παιδί του κόμβου και στη συνέχεια τη λίστα των αδελφικών κόμβων αυτού του παιδιού προκειμένου να βρω τα υπόλοιπα παιδιά του κόμβου. Η TreeDegree() εκτελεί μια μεταδιατεταγμένη διάσχιση των κόμβων. Για κάθε κόμβο v που επισκεπτόμαστε, το κόστος για να εκτελέσουμε των κώδικα Visit είναι O(k), όπου k είναι ο βαθμός του κόμβου του διατεταγμένου δένδρου που αναπαρίσταται από τον v. Άρα, η συνολική πολυπλοκότητα της TreeDegree() είναι Ο(nk). Άσκηση 3 Περιγράψτε αλγόριθμο, ο οποίος θα παίρνει, ως όρισμα, έναν δείκτη p σε έναν κόμβο ενός διπλά-συνδεδεμένου δυαδικού δένδρου και θα επιστρέφει τον προηγούμενο του κόμβου στην προδιατεταγμένη διάσχιση. Λύση: struct node *PreOrderPredecessor ( struct node * p) { struct node *q, *prevq = NULL; if (p parent == NULL){ p r i n t ( There is only one node in the tree ); return NULL; if (p == p parent lc) // αν είμαι αριστερό παιδί του πατέρα μου

return p parent; // ο προηγούμενος στην προδιατεταγμένη είναι ο πατέρας μου // ακολουθεί κώδικας για την περίπτωση που ο κόμβος // στον οποίο δείχνει ο p είναι δεξί παιδί του πατέρα του // ο προηγούμενος βρίσκεται στο αριστερό υποδένδρο του πατέρα q = p parent lc; prevq = p parent; // και είναι το δεξιότερο φύλλο σε αυτό το υποδένδρο while (q!= NULL) { // επαναληπτικά prevq = q; q rc; // κατεβαίνω προς τα δεξιά if (q == NULL) q= prevq lc; // μέχρι να βγω σε NULL // αν ο τελευταίος κόμβος που διέσχισα // έχει αριστερό παιδί, συνεχίζω την ίδια // διαδικασία στο υποδένδρο του παιδιού αυτού // όταν βγαίνω από τη while, ο q είναι NULL και ο prevq δείχνει στο δεξιότερο φύλλο // του αριστερού υποδένδρου του πατέρα του p return prevq; // ο prevq είναι επομένως ο προηγούμενος του p // στην προδιατεταγμένη διάσχιση και τον επιστρέφω Άσκηση 4 (Ταξινομημένα Δυαδικά Δένδρα) 1. Ας υποθέσουμε ότι ένα ταξινομημένο δυαδικό δένδρο αποτελείται από τα κλει διά 1 έως 1000. Έστω ότι αναζητείται το κλειδί 363. Εξετάστε αν οι παρακάτω ακολουθίες κλειδιών είναι έγκυρες ακολουθίες κόμβων που θα μπορούσαν να προσπελάζονται από το γνωστό αλγόριθμο αναζήτησης σε ταξινομημένα δυαδικά δένδρα. α. 102, 352, 501, 498, 430, 444, 497, 463, 363 β. 974, 270, 961,299, 948, 298, 412, 413, 363 γ. 935, 278, 347, 621, 299, 392, 358, 363 2. Ζωγραφίστε 10 ταξινομημένα δένδρα ύψους 5 με κλειδιά 3, 7, 9, 14, 19, 22, 26. 3. Εισάγετε τα κλειδιά 5, 1, 18 στο δένδρο του Σχήματος 1. 4. Παρουσιάστε τα δένδρα που προκύπτουν κατά τη διαγραφή των κλειδιών 10, 20, 1 και 15 από το δένδρο που προκύπτει μετά τις εισαγωγές του ερωτήματος 3. Λύση 1. α. Το μονοπάτι που θα είχε ακολουθήσει ο αλγόριθμος αναζήτησης προκειμένου να επισκεφτεί τους κόμβους της ακολουθίας α. φαίνεται στο Σχήμα 2α. Παρατηρούμε πως από το κλειδί 430, η αναζήτηση θα έπρεπε να συνεχίσει σε μικρότερα κλειδιά και όχι σε μεγαλύτερα, όπως έγινε. Παρατηρήστε ότι στο Σχήμα 2α. το κλειδί 363 είναι στα δεξιά του 430 (που καταστρατηγεί την ταξινόμηση του δένδρου). Επομένως, η ακολουθία 1α. δεν είναι έγκυρη. Σχήμα 1

β. Το μονοπάτι που θα είχε ακολουθήσει ο αλγόριθμος αναζήτησης προκειμένου να επισκεφτεί τους κόμβους της ακολουθίας β. φαίνεται στο Σχήμα 1β. Παρατηρούμε πως το κλειδί 298 βρίσκεται στα δεξιά του 299. Αυτό καταστρατηγεί την ταξινόμηση του δένδρου). Επομένως, η ακολουθία 1β. επίσης δεν είναι έγκυρη. γ. Το μονοπάτι που θα είχε ακολουθήσει αλγόριθμος αναζήτησης προκειμένου επισκεφτεί τους κόμβους της ακολουθίας γ. φαίνεται στο Σχήμα 2γ. Παρατηρούμε ότι το κλειδί 299 βρίσκεται στα δεξιά του 347 το οποίο καταστρατηγεί την ιδιότητα ταξινόμησης του δένδρου. Επομένως, ηεδώ η ακολουθία 1γ. δεν είναι έγκυρη. να γ. 2. Τα δένδρα παρουσιάζονται στο Σχήμα 3. α. β. γ.

Σχήμα 2 3. Η διαδοχική εισαγωγή των κλειδιών παρουσιάζεται στο Σχήμα 4. Σχήμα 3 4. Η διαδοχική διαγραφή των κλειδιών 10, 20, 1 και 15 αναπαρίσταται στο σχήμα 5.

Σχήμα 4