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

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών

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

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

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

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

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

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

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

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

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

Εργαστήριο 2: Πίνακες

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

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

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

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

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

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

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

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

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Διάλεξη 14: Δομές Δεδομένων ΙΙI (Λίστες και Παραδείγματα)

Αλγόριθμοι ταξινόμησης

Εργαστηριακή Άσκηση 1

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

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

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

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

υναµικές οµές εδοµένων (συν.) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

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

Διάλεξη 22η: Επιπλέον στοιχεία της C

Στόχοι και αντικείμενο ενότητας. Πέρασμα Πίνακα σε Συνάρτηση (συν.) Πέρασμα Πίνακα σε Συνάρτηση. #8.. Ειδικά Θέματα Αλγορίθμων

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

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

υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή

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

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

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

Μεθόδων Επίλυσης Προβλημάτων

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Μεθόδων Επίλυσης Προβλημάτων

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

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

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

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

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

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

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

ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

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

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

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

Οι ϐασικές πράξεις που ορίζονται για τη δοµή δεδοµένων σωρός, είναι η πράξη της εισαγωγής και η πράξη της διαγραφής ενός στοιχείου.

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

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

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

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

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

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

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

Αλγόριθμοι Ταξινόμησης Μέρος 3

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

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

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

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

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 1 Συμβολοσειρές, Πίνακες, Δείκτες

Προγραμματισμός Η/Υ. Ενότητα 8: Ειδικά Θέματα Αλγορίθμων

Προγραμματιστικές Τεχνικές

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Διάλεξη 15: Δομές Δεδομένων IV (Διπλά Συνδεδεμένες Λίστες)

Εργαστήριο 7: Ο αλγόριθμος ταξινόμησης Radix Sort

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Πληροφορικής

Ταχεία Ταξινόμηση Quick-Sort

ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η

Θεωρητικό Μέρος. 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); } }

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

ΕΠΛ232: Εργαστήριο 2

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

Κεφάλαιο 8.6. Πίνακες ΙI (Διάλεξη 17)

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

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου

Μεθόδων Επίλυσης Προβλημάτων

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

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 035: οµές εδοµένων και Αλγόριθµοι για Ηλεκτρολόγους Μηχανικούς και Μηχανικούς Υπολογιστών Ακαδηµαϊκό έτος 2010 2011, Χειµερινό εξάµηνο Όλες οι ασκήσεις να δακτυλογραφηθούν στον υπολογιστή και να παραδοθούν σε έντυπη µορφή. ΕΡΓΑΣΙΑ 3 18/11/2010 Ηµεροµηνία Παράδοσης: ευτέρα 29/11/2010 ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ: ΑΛΓΟΡΙΘΜΟΙ ΤΑΞΙΝΟΜΗΣΗΣ, ΕΝ ΡΑ Άσκηση 1 (30 µονάδες) Δίδεται ο ακόλουθος πίνακας ακέραιων αριθμών: 10 11 72 12 1 34 3 50 28 6 5 22 91 73 Δείξτε σχηματικά (δείτε διαφάνεια 9 Διάλεξη 15) τα βήματα της διαδικασίας patition που ακολουθείται για την ταξινόμηση του πιο πάνω πίνακα με τη μέθοδο Ταξινόμησης QuickSot - (εξηγώντας σε συντομία το κάθε βήμα). Να γίνει η υπόθεση ότι επιλέγεται το 28 ως το pivot και να ακολουθηθεί η διαδικασία μέχρι να διασταυρωθούν για πρώτη φορά τα και και να επιστέψει το pivot (28) στη σωστή θέση. εδοµένο εισόδου: 10 11 72 12 1 34 3 50 28 6 5 22 91 73 Επιλέγουµε ως pivot το 28 και κάνουµε swap τον pivot µε το τελευταίο. 10 11 72 12 1 34 3 50 73 6 5 22 91 28

Swap 72 22 Swap 34 5 Swap 50 6 1. Επαναλαµβάνουµε τα εξής µέχρις ότου τα και να διασταυρωθούν. 2. Προχώρα το προς τα δεξιά όσο τα στοιχεία που βρίσκεις είναι µικρότερα του p, 3. Προχώρα το προς τα αριστερά όσο τα στοιχεία που βρίσκεις είναι µεγαλύτερα (ή ίσα) του p, 4. Αντάλλαξε τα στοιχεία που δείχνονται από τα και. 10 11 72 12 1 34 3 50 73 6 5 22 91 28 10 11 72 12 1 34 3 50 73 6 5 22 91 28 10 11 22 12 1 34 3 50 73 6 5 72 91 28 10 11 22 12 1 5 3 50 73 6 34 72 91 28 10 11 22 12 1 5 3 50 73 6 34 72 91 28 10 11 22 12 1 5 3 50 73 6 34 72 91 28 10 11 22 12 1 5 3 6 73 50 34 72 91 28 Retun pivot to index position 73 28. Fom now on the pivot (28) is aways ocated at a soted/coect position. 10 11 22 12 1 5 3 6 28 50 34 72 91 73

Άσκηση 2 (30 µονάδες) ώστε την Μεταθεµατική ιάσχιση (Postode) και την Προθεµατική ιάσχιση (Peode) για τα πιο κάτω δένδρα (δείτε διαφάνεια 19 ιάλεξη 16). (α) + (β) + * 3 * 3 / 5 8 + 7 3 7 3 (γ) * + - 4-2 5 7 3 (α) Προθεµατική ιάσχιση (Peode) : + * / 7 3 5 3 Μεταθεµατική ιάσχιση (Postode): 7 3 / 5 * 3 + (β) Προθεµατική ιάσχιση (Peode) : + * 8 + 7 3 3 Μεταθεµατική ιάσχιση (Postode): 8 7 3 + * 3 + (γ) Προθεµατική ιάσχιση (Peode) : * + 4 7 3 2 5 Μεταθεµατική ιάσχιση (Postode): 473 - + 25 - *

Άσκηση 3 (40 µονάδες) Quiz - Εργαστήριο Bonus - Άσκηση 1 (35 µονάδες) Δίδεται ο ακόλουθος πίνακας ακέραιων αριθμών: 3 9 5 87 34 56 12 6 Δείξτε σχηματικά (δείτε διαφάνεια 6 Διάλεξη 13) τα βήματα της διαδικασίας ταξινόμησης του πιο πάνω πίνακα με τη μέθοδο Ταξινόμησης με Επιλογή (Seection Sot) - (εξηγώντας σε συντομία το κάθε βήμα). Ποιος είναι ο χρόνος εκτέλεσης της Ταξινόμησης με Επιλογή (Seection sot); (α) Βήματα Εκτέλεσης: Αρχικός πίνακας 3 9 5 87 34 56 12 6 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=0 3 9 5 87 34 56 12 6 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=1 3 5 9 87 34 56 12 6 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=2 3 5 6 87 34 56 12 9 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=3 3 5 6 9 34 56 12 87 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=4 3 5 6 9 12 56 34 87

Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=5 3 5 6 9 12 34 56 87 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=6 3 5 6 9 12 34 56 87 Διαλέγουμε το μικρότερο και κάνουμε swap με τη θέση i=7 3 5 6 9 12 34 56 87 Χρόνος εκτέλεσης αλγορίθμου Seection Sot: Ο(n^2) Bonus - Άσκηση 2 (30 µονάδες) Δίδεται ο ακόλουθος πίνακας ακέραιων αριθμών: 9 2 8 3 6 1 1 6 6 2 Δείξτε σχηματικά (δείτε διαφάνεια 15 Διάλεξη 14) τα βήματα της διαδικασία ταξινόμησης του πιο πάνω πίνακα με τη μέθοδο Ταξινόμησης με Κάδους (BucketSot). Βήματα Εκτέλεσης: εδοµένο Εισόδου: Τα στοιχεία είναι στο εύρος m=[0,9] 9 2 8 3 6 1 1 6 6 2 Μετά την 1η εκτέλεση του Bucketsot (Εισαγωγή του 9) 0 0 0 0 0 0 0 0 0 1 Μετά την 2η εκτέλεση του Bucketsot (Εισαγωγή του 2) 0 0 1 0 0 0 0 0 0 1

Μετά την 3η εκτέλεση του Bucketsot (Εισαγωγή του 8) 0 0 1 0 0 0 0 0 1 1 Μετά την 4η εκτέλεση του Bucketsot (Εισαγωγή του 3) 0 0 1 1 0 0 0 0 1 1 Μετά την 5η εκτέλεση του Bucketsot (Εισαγωγή του 6) 0 0 1 1 0 0 1 0 1 1 Μετά την 6η εκτέλεση του Bucketsot (Εισαγωγή του 1) 0 1 1 1 0 0 1 0 1 1 Μετά την 7η εκτέλεση του Bucketsot (Εισαγωγή του 1) 0 2 1 1 0 0 1 0 1 1 Μετά την 8η εκτέλεση του Bucketsot (Εισαγωγή του 6) 0 2 1 1 0 0 2 0 1 1 Μετά την 9η εκτέλεση του Bucketsot (Εισαγωγή του 6) 0 2 1 1 0 0 3 0 1 1 Μετά την 10η εκτέλεση του Bucketsot (Εισαγωγή του 2) Ταξινομημένος Πίνακας: 0 2 2 1 0 0 3 0 1 1 1 1 2 2 3 6 6 6 8 9

Bonus - Άσκηση 3 (35 µονάδες) Να γράψετε µια αναδροµική συνάρτηση η οποία να τυπώνει τα στοιχεία ενός δυαδικού δένδρου τα οποία είναι µικρότερα από την τιµή (key) που δίνεται ως παράµετρος της συνάρτησης. Πρότυπο συνάρτησης: void pintlessthankey(node *oot, int key) ίνεται κώδικας της υλοποίησης δυαδικού δένδρου που πρέπει να ακολουθηθεί για να υλοποιήσετε την πιο πάνω συνάρτηση. Η απάντηση σας να δοθεί στο κενό της συνάρτησης pintlessthankey. Αποτέλεσµα εκτέλεσης: #incude <stdio.h> typedef stuct node { int va; stuct node *eft; stuct node *ight; NODE; typedef stuct tee { NODE *oot; TREE; void MakeEmptyTee(TREE *T){ T->oot = NULL; NODE *FindNode(NODE *oot, int va) { if (oot == NULL) etun NULL; ese if (oot->va == va) etun oot; ese { if (va < oot->va) etun FindNode(oot->eft, va);

ese etun FindNode(oot->ight, va); NODE *InsetNode(NODE *oot, int va){ if (oot == NULL) { // åéóáãùãþ êüìâïõ oot = (NODE *) maoc(sizeof(node)); if (oot==null) { pintf("out of Memoy!"); exit(1); oot->va = va; oot->eft = NULL; oot->ight = NULL; ese { if (va < oot->va) // åéóáãùãþ áñéóôåñü oot->eft = InsetNode(oot->eft, va); ese // åéóáãùãþ äåîéü oot->ight = InsetNode(oot->ight, va); etun oot; /** This is not a geneic function. It is ony impemented to pint the specific pefect tee ceated in the main of this pogam. Thus, it can ONLY be used by this pogam to pint gaphicay the tee fo demonstation puposes.**/ void pinttee(node *oot){ pintf("---------------%d----------------\n", oot->va); pintf("------%d-----------------%d------\n", (oot->eft)->va, (oot->ight)->va); pintf("-%d---------%d-------%d---------%d-\n", ((oot->eft)->eft)->va, ((oot->eft)->ight)->va, ((oot->ight)->eft)->va, ((oot->ight)->ight)->va); void pintlessthankey(node *oot, int key){ if (oot == NULL) etun; if (oot->va < key) pintf("%d,", oot->va); pintlessthankey(oot->eft, key); pintlessthankey(oot->ight, key);

int main(){ int i; TREE *tee; MakeEmptyTee(tee); tee->oot = InsetNode(tee->oot, 5); pintf("node %d: %d\n", 1, (tee->oot)->va); InsetNode(tee->oot, 3); pintf("node %d: %d\n", 2, (FindNode(tee->oot, 3))->va); InsetNode(tee->oot, 11); pintf("node %d: %d\n", 3, (FindNode(tee->oot, 11))->va); InsetNode(tee->oot, 2); pintf("node %d: %d\n", 4, (FindNode(tee->oot, 2))->va); InsetNode(tee->oot, 4); pintf("node %d: %d\n", 5, (FindNode(tee->oot, 4))->va); InsetNode(tee->oot, 8); pintf("node %d: %d\n", 6, (FindNode(tee->oot, 8))->va); InsetNode(tee->oot, 13); pintf("node %d: %d\n", 7, (FindNode(tee->oot, 13))->va); pinttee(tee->oot); pintlessthankey(tee->oot, 8);