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

Βρήκες ή ψάχνεις κάτι ενδιαφέρον για τους τομείς των Μαθηματικών, της Φυσικής ή της Πληροφορικής; Για πέρνα να τα πούμε...

Συντονιστές: kostas213, markelos, Tulis

Άβαταρ μέλους
pao132003
Δημοσιεύσεις: 1905
Εγγραφή: Παρ Νοέμ 03, 2006 10:06 am
Real Name: Γιάννης
Gender: Male
Τοποθεσία: Αθήνα(ως επί το πλείστον)
Επικοινωνία:

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

Δημοσίευση από pao132003 »

Ναι, αυτό είναι. (όσο απαντάς τόσο τους δίνεις τροφή να συνεχίζουν :P )
No battle is ever won he said. They are not even fought. The field only reveals to man his own folly and despair, and victory is an illusion of philosophers and fools.
-William Faulkner, novelist (1897-1962)

H πιο επαναστατική πράξη σήμερα (2013) είναι να κρατήσεις ένα σχολείο ανοικτό.
-Άγνωστου
jimer
Δημοσιεύσεις: 15
Εγγραφή: Τετ Ιουν 18, 2008 3:47 pm
Real Name: Dimitris
Gender: Male
Facebook ID: 0

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

Δημοσίευση από jimer »

Σε κουράζουμε αλλά τα θες κι εσύ.

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

Έχεις πολλά πιθανά δέντρα. π.χ. τα δέντρα της εικόνας σου δίνουν όλα preorder 85,43,93,35,1,3
Ή αλλιώς, από την preorder 85,43,93,35,1,3 μπορείς να φτιάξεις αυτά τα τρία δέντρα και καμιά δεκαριά ακόμα χοντρικά.
Τα μόνα σίγουρα που έχεις σε κάθε ένα από αυτά τα δέντρα είναι ότι το πρώτο στοιχείο (85) είναι η ρίζα και το τελευταίο (3) είναι το δεξιότερο φύλλο του δέντρου.
Συνημμένα
pre.jpg
morgana23
Δημοσιεύσεις: 10
Εγγραφή: Παρ Ιουν 26, 2009 1:57 am
Real Name: katerina
Gender: Female
Facebook ID: 0

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

Δημοσίευση από morgana23 »

Δεν με κουραζετε καθολου, εγω μαλλον σας κουραζω :e_wink: Προσπαθω να βρω και εγω μια ακρη..Απλα σε αυτη την περιπτωση μπορουν να γινουν αρκετα δεντρα με αυτη την προυποθεση. Αν μου εδινε απλα μια ακολουθια κλειδιων χωρις να ειναι σε προδιαταξη, θα επαιρνα το πρωτο σαν ριζα μετα θα συνεκρινα το δευτερο με τη ριζα και αν ηταν μικροτερο θα το εβαζα αριστερα κοκ, ετσι?
jimer
Δημοσιεύσεις: 15
Εγγραφή: Τετ Ιουν 18, 2008 3:47 pm
Real Name: Dimitris
Gender: Male
Facebook ID: 0

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

Δημοσίευση από jimer »

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

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

Επιστροφή στο “Ζητήματα Μαθηματικών - Φυσικής - Πληροφορικής”