Σελίδα 2 από 2

Re: Διάσχιση δυαδικού δέντρου!!

Δημοσιεύτηκε: Σάβ Ιουν 27, 2009 4:08 pm
από pao132003
Ναι, αυτό είναι. (όσο απαντάς τόσο τους δίνεις τροφή να συνεχίζουν :P )

Re: Διάσχιση δυαδικού δέντρου!!

Δημοσιεύτηκε: Σάβ Ιουν 27, 2009 6:48 pm
από jimer
Σε κουράζουμε αλλά τα θες κι εσύ.

Δεν χρειάζεται σύγκριση,ταξινόμηση κτλ εκτός εάν θέλεις να φτιάξεις δυαδικό δεντρο αναζήτησης, δέντρο με ταξινόμηση σωρού ή οποιοδήποτε τελοσπάντων δέντρο με κάποια μορφή ταξινόμησης.
Οπότε παίρνεις την preorder βάζεις σαν ρίζα το πρώτο στοιχείο και μετά κολλάς από κάτω τα υπόλοιπα έτσι ώστε κανένας απόγονος του χ κόμβου δεν εμφανίζεται πριν από τον χ στην preorder.Επίσης πρέπει να προσέξεις ότι στην preorder έχουν προτεραιότητα τα αριστερά παιδιά. Στις σημειώσεις του Συμβώνη εξηγεί πως ακριβώς δουλεύει η preorder.

Έχεις πολλά πιθανά δέντρα. π.χ. τα δέντρα της εικόνας σου δίνουν όλα preorder 85,43,93,35,1,3
Ή αλλιώς, από την preorder 85,43,93,35,1,3 μπορείς να φτιάξεις αυτά τα τρία δέντρα και καμιά δεκαριά ακόμα χοντρικά.
Τα μόνα σίγουρα που έχεις σε κάθε ένα από αυτά τα δέντρα είναι ότι το πρώτο στοιχείο (85) είναι η ρίζα και το τελευταίο (3) είναι το δεξιότερο φύλλο του δέντρου.

Re: Διάσχιση δυαδικού δέντρου!!

Δημοσιεύτηκε: Δευ Ιουν 29, 2009 3:22 pm
από morgana23
Δεν με κουραζετε καθολου, εγω μαλλον σας κουραζω :e_wink: Προσπαθω να βρω και εγω μια ακρη..Απλα σε αυτη την περιπτωση μπορουν να γινουν αρκετα δεντρα με αυτη την προυποθεση. Αν μου εδινε απλα μια ακολουθια κλειδιων χωρις να ειναι σε προδιαταξη, θα επαιρνα το πρωτο σαν ριζα μετα θα συνεκρινα το δευτερο με τη ριζα και αν ηταν μικροτερο θα το εβαζα αριστερα κοκ, ετσι?

Re: Διάσχιση δυαδικού δέντρου!!

Δημοσιεύτηκε: Δευ Ιουν 29, 2009 9:44 pm
από jimer
Για να φτιαξεις γενικά ένα δέντρο από ένα σύνολο κλειδιών κανένας δε σου λέει πως να τα βάλεις( Δεν χρειάζεσαι συγκρίσεις). Το δέντρο από μόνο του δεν ορίζεται με καμία διάταξη.
Αυτό που λες (ρίζα -δεξιά-αριστερά) μοιάζει μόνο με "δυαδικό δέντρο αναζήτησης" όπου:

Το αριστερό υποδέντρο κάθε κόμβου χ έχει μικρότερες τιμές(κλειδιά) από την τιμή του χ και το δεξί υποδέντρο του χ έχει μεγαλύτερες τιμές από την τιμή του χ. Αν λοιπον σου ζητάει "δυαδικό δέντρο αναζήτησης" θα το κατασκευάσεις σύμφωνα με τον παραπάνω κανόνα.(Ούτε κι εδώ έχεις μοναδικό δέντρο)
Δηλαδή όπως είπες ένας τρόπος είναι να συγκρίνεις κάθε στοιχείο με τη ρίζα και να κατεβαίνεις προς τα κάτω με συγκρίσεις πηγαίνοντας ανάλογα δεξιά-αριστερά μέχρι το στοιχείο σου να γίνει φύλλο του δέντρου.
Αλλά αυτό δεν έχει καμία σχέση με την preorder που λέγαμε πριν. π.χ το δέντρο της εικόνας που μας έδειξες στην προηγούμενη σελίδα δεν είναι φτιαγμένο έτσι.
Κοιτα και βιβλίο/σημειώσεις δομών δεδομένων πάντως γιατί τα εξηγούνε καλά, μη σε μπερδέψω χειρότερα.