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

Σχετικά έγγραφα
Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AVL-trees C++ implementation

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

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

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

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

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

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

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

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

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

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

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

Ανάπτυξη και Σχεδίαση Λογισμικού

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

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

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

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

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

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

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

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

Red-Black Δέντρα. Red-Black Δέντρα

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

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

Διάλεξη 17η: Ταξινόμηση και Αναζήτηση

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

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

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

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

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

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

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

Εισαγωγή στους Αλγορίθμους

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

Transcript:

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

Δέντρα Τα δέντρα είναι κλασικές αναδρομικές δομές Ένα δέντρο αποτελείται από υποδέντρα, καθένα από τα οποία μπορεί να θεωρηθεί ως ένα (άλλο) δέντρο, που πάλι αποτελείται από υποδέντρα κλπ. Η αναζήτηση σε δέντρα μπορεί να υλοποιηθεί πολύ εύκολα με αναδρομικό τρόπο Προγραμματισμός II 2 lalis@inf.uth.gr

Δυαδικά δέντρα αναζήτησης Τα δυαδικά δέντρα είναι ειδική περίπτωση δέντρων Κάθε κόμβος έχει (το πολύ) δύο υποδέντρα Η κατασκευή μπορεί να γίνει με ειδικό τρόπο, έτσι ώστε να υποστηρίζεται η γρήγορη αναζήτηση Για κάθε κόμβο με τιμή κλειδιού v όλοι οι κόμβοι του αριστερού υποδέντρου έχουν τιμή μικρότερη του v, και όλοι οι κόμβοι του δεξιού υποδέντρου έχουν τιμή μεγαλύτερη του v Αν το δέντρο είναι ισορροπημένο (balanced), η αναζήτηση απαιτεί κατά μ.ο. (log 2 N)/2 βήματα όπου Ν το πλήθος των κόμβων του δέντρου Προγραμματισμός II 3 lalis@inf.uth.gr

v left right log 2 N < v > v Προγραμματισμός II lalis@inf.uth.gr

8 12 2 6 10 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 5 lalis@inf.uth.gr

find 9 8 8 < 9 12 12 > 9 2 6 10 10 > 9 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 6 lalis@inf.uth.gr

struct btree { int v; struct btree *left,*right; }; int btree_find2(struct btree *root, int v) { if (root == NULL) { return(0); } else if (root->v == v) { return(1); } else if (root->v > v) { return(btree_find2(root->left,v)); } else /* root->v < v */ { return(btree_find2(root->right,v)); } } Προγραμματισμός II 7 lalis@inf.uth.gr

Διέλευση δυαδικών δέντρων Η διεύλευση ενός δέντρου μπορεί επίσης να γίνει πολύ εύκολα με αναδρομικό τρόπο Μπορεί να γίνει επίσκεψη των κόμβων του δέντρου με «αύξουσα» ή με «φθίνουσα» σειρά Αναλόγως με το σημείο που βάζουμε την αναδρομή Προγραμματισμός II 8 lalis@inf.uth.gr

1 2 3 5 6 7 8 9 10 11 12 13 1 15 8 #8 # #12 12 #2 #6 2 6 #10 #1 10 1 1 3 5 7 9 11 13 15 #1 #3 #5 #7 #9 #11 #13 #15 Προγραμματισμός II 9 lalis@inf.uth.gr

void btree_traverse_inc(struct btree *root) { if (root!= NULL) { btree_traverse_inc(root->left); printf("%d ",root->v); btree_traverse_inc(root->right); } } Προγραμματισμός II 10 lalis@inf.uth.gr

15 1 13 12 11 10 9 8 7 6 5 3 2 1 8 #8 #12 # 12 #1 #10 2 6 #6 #2 10 1 1 3 5 7 9 11 13 15 #15 #13 #11 #9 #7 #5 #3 #1 Προγραμματισμός II 11 lalis@inf.uth.gr

void btree_traverse_dec(struct btree *root) { if (root!= NULL) { btree_traverse_dec(root->right); printf("%d ",t->v); btree_traverse_dec(root->left); } } Προγραμματισμός II 12 lalis@inf.uth.gr

Προσθήκη κόμβου Αναζήτηση με βάση την τιμή-κλειδιού v του κόμβου Αν ο κόμβος βρεθεί, γίνεται αντικατάσταση τα δεδομένα αντιγράφονται στον κόμβο που ήδη υπάρχει Αν ο κόμβος δεν βρεθεί, τότε ο τελευταίος κόμβος που επισκευτήκαμε είναι ένα φύλλο του δέντρου Ο νέος κόμβος εισάγεται κάτω από τον κόμβο-φύλλο, έτσι ώστε να τηρείται η σύμβαση αναζήτησης Έστω ότι η τιμή του κλειδιού στο φύλλο είναι v' Αν v < v', ο νέος κόμβος εισάγεται στα αριστερά Αν v > v', ο νέος κόμβος εισάγεται στα δεξιά Προγραμματισμός II 13 lalis@inf.uth.gr

8 12 2 6 10 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 1 lalis@inf.uth.gr

Αφαίρεση κόμβου Αναζήτηση με βάση την τιμή-κλειδιού v του κόμβου Αν ο κόμβος δεν βρεθεί, τερματίζουμε Αν ο κόμβος βρεθεί, τότε τον αφαιρούμε Αν είναι φύλλο, απλά τον διαγράφουμε Αν είναι η ρίζα του δέντρου, «προάγουμε» σε ρίζα του δέντρου την ρίζα του αριστερού ή του δεξιού υποδέντρου αναδρομικά για τα υποδέντρα Τα υποδέντρα πρέπει να αναδιατάσσονται κατάλληλα για να τηρείται η συνθήκη αναζήτησης Προγραμματισμός II 15 lalis@inf.uth.gr

8 12 2 6 10 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 16 lalis@inf.uth.gr

rmv 5 8 12 2 6 10 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 17 lalis@inf.uth.gr

8 12 2 6 10 1 1 3 5 7 9 11 13 15 Προγραμματισμός II 18 lalis@inf.uth.gr

8 12 2 6 10 1 1 3 7 9 11 13 15 Προγραμματισμός II 19 lalis@inf.uth.gr

rmv 12 8 12 2 6 10 1 1 3 7 9 11 13 15 Προγραμματισμός II 20 lalis@inf.uth.gr

rmv 12 8 12 2 6 10 1 1 3 7 9 11 13 15 Προγραμματισμός II 21 lalis@inf.uth.gr

rmv 12 8 11 12 2 6 10 1 1 3 7 9 11 13 15 Προγραμματισμός II 22 lalis@inf.uth.gr

rmv 12 8 11 12 2 6 10 1 1 3 7 9 13 15 Προγραμματισμός II 23 lalis@inf.uth.gr

8 11 2 6 10 1 1 3 7 9 13 15 Προγραμματισμός II 2 lalis@inf.uth.gr

rmv 8 8 11 2 6 10 1 1 3 7 9 13 15 Προγραμματισμός II 25 lalis@inf.uth.gr

8 11 2 6 10 1 1 3 7 9 13 15 Προγραμματισμός II 26 lalis@inf.uth.gr

8 7 11 2 6 10 1 1 3 7 9 13 15 Προγραμματισμός II 27 lalis@inf.uth.gr

8 7 11 2 6 10 1 1 3 9 13 15 Προγραμματισμός II 28 lalis@inf.uth.gr

7 11 2 6 10 1 1 3 9 13 15 Προγραμματισμός II 29 lalis@inf.uth.gr

Εξισορρόπηση Το δέντρο μπορεί να χάσει την «ισορροπία» του Ακραία περίπτωση: το δέντρο «εκφυλίζεται» σε μια (ταξινομημένη) λίστα, όπου ο μ.ο. Βημάτων αναζήτησης είναι πλέον Ν/2 (αντί για log 2 N) Λύση: κάθε φορά που προστίθεται ή αφαιρείται ένας κόμβος ή όταν εντοπιστεί μεγάλη ανισορροπία, πραγματοποιούνται ενέργεις εξισορόπησης (balancing) Προγραμματισμός II 30 lalis@inf.uth.gr

7 11 2 6 10 1 1 3 9 13 15 Προγραμματισμός II 31 lalis@inf.uth.gr

7 11 2 6 10 1 1 3 9 13 15 Προγραμματισμός II 32 lalis@inf.uth.gr

7 11 2 10 1 1 3 9 13 15 Προγραμματισμός II 33 lalis@inf.uth.gr

7 11 2 10 1 1 3 9 13 15 Προγραμματισμός II 3 lalis@inf.uth.gr

7 11 2 10 1 1 9 13 15 Προγραμματισμός II 35 lalis@inf.uth.gr

7 11 2 10 1 1 9 13 15 Προγραμματισμός II 36 lalis@inf.uth.gr

7 2 11 1 10 1 9 13 15 Προγραμματισμός II 37 lalis@inf.uth.gr

Αναπαράσταση/αποτίμηση εκφράσεων Τα δυαδικά δέντρα μπορεί να χρησιμοποιηθούν και για την εσωτερική αναπαράσταση/κωδικοποίηση εκφράσεων με δυαδικούς τελεστές π.χ. αριθμητικών εκφράσεων Οι κόμβοι που δεν είναι φύλλα, περιέχουν τελεστές Τα ορίσματα τους (που μπορεί με την σειρά τους να είναι σύνθετες εκφράσεις) βρίσκονται στο αριστερό και στο δεξί υποδέντρο Η προτεραιότητα μεταξύ των πράξεων δίνεται από την απόσταση μιας τιμής από τον πιο κοντινό τελεστή Πράξεις που βρίσκονται στο ίδιο επίπεδο του δέντρου (έχουν την ίδια προτεραιότητα) μπορεί να εκτελεστούν παράλληλα μεταξύ τους Προγραμματισμός II 38 lalis@inf.uth.gr

((6 / 3) + (8 6)) * ((1 + 7) (2 * 3)) 8 * 2 + - 2 2 8 6 / - + * 6 3 8 6 1 7 2 3 Προγραμματισμός II 39 lalis@inf.uth.gr

Διέλευση δέντρου έκφρασης Η διέλευση του δέντρου μπορεί να γίνει με 3 διαφορετικούς τρόπους Prefix: ο τελεστής πριν τα ορίσματα Postfix: ο τελεστής μετά τα ορίσματα Infix: ο τελεστής ανάμεσα στα ορίσματα Με αντίστοιχο τρόπο, μπορεί να γίνει συντακτική ανάλυση τέτοιων εκφράσεων, π.χ. από ένα διερμηνέα ή ένα μεταγλωττιστή, για να κατασκευαστεί μια τέτοια εσωτερική αναπαράσταση που στην συνέχεια μπορεί να χρησιμοποιηθεί για την αποτίμηση Προγραμματισμός II 0 lalis@inf.uth.gr

* + / 6 3-8 6 - + 1 7 * 2 3 * #1 #2 + #9 - #3 #6 / - #10 #13 + * 6 3 8 6 1 7 2 3 # #5 #7 #8 #11 #12 #1 #15 Προγραμματισμός II 1 lalis@inf.uth.gr

void btree_traverse_prefix(struct btree *root) { if (root!= NULL) { printf("%c ",root->v); btree_traverse_prefix(root->left); btree_traverse_prefix(root->right); } } Προγραμματισμός II 2 lalis@inf.uth.gr

6 3 / 8 6 - + 1 7 + 2 3 * - * * #15 #7 + #1 - #3 #6 / - #10 #13 + * 6 3 8 6 1 7 2 3 #1 #2 # #5 #8 #9 #11 #12 Προγραμματισμός II 3 lalis@inf.uth.gr

void btree_traverse_postfix(struct btree *root) { if (root!= NULL) { btree_traverse_postfix(root->left); btree_traverse_postfix(root->right); printf("%d ",root->v); } } Προγραμματισμός II lalis@inf.uth.gr