Μπορεί ένα δυαδικό δέντρο αναζήτησης είναι τόσο πλήρης και ολοκληρωμένη;

ψήφοι
3

Στο πλαίσιο της προετοιμασίας για την ενδιάμεση δομές δεδομένων, ο καθηγητής μας έδωσε δοκιμή του περασμένου έτους, μια ερώτηση η οποία ασχολείται με την εκ νέου ρύθμιση παράδειγμα δέντρο σε ένα πλήρες δυαδικό δένδρο αναζήτησης. Έχω δοκιμάσει πολλές διαφορετικές εκδοχές της γραφής από το δέντρο, αλλά αυτό το πλήρες δυαδικό δέντρο παράδειγμα από Wolfram Mathematica δεν βοήθησε καθόλου, αφού ταιριάζει επίσης τον ορισμό της πλήρους. Το βιβλίο ορίζει ένα πλήρες δυαδικό δέντρο ως ένα δέντρο μέσα από το επίπεδο n-1 είναι τέλεια με κάποια επιπλέον κόμβους στο επίπεδο n, όλα τα αριστερά ευθυγραμμισμένο.

Οι κόμβοι είναι A E I L N O P R S T U, n = 11 κόμβοι. Εδώ είναι η καλύτερη απάντηση που ήρθε με:

           R
         /    \
        L      T
       / \    / \
     I    N   S   U
    / \  / \
   A  E O   P

Αλλά αυτό ταιριάζει το παράδειγμα του δέντρου σε WM, αλλά δεν το βιβλίο παράδειγμα. Έτσι, το οποίο είναι η σωστή απάντηση;

Δημοσιεύθηκε 19/10/2010 στις 14:57
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
11

Δεν καταλαβαίνω απόλυτα, όπου η σύγχυση σας βρίσκεται, αλλά θα κάνω το καλύτερό μου για να απαντήσω ...

Ένα δυαδικό δέντρο θεωρείται πλήρης αν κάθε κόμβος έχει ακριβώς 0 ή 2 παιδιά.

Ένα δυαδικό δένδρο θεωρείται πλήρης αν κάθε επίπεδο είναι πλήρης, εκτός από την τελευταία, και όλοι οι κόμβοι έσπρωξε εντελώς αριστερά όσο το δυνατόν.

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

Επίσης, ένα δυαδικό δέντρο θεωρείται ιδανικό αν είναι πλήρης και όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο.

Έτσι, στο παράδειγμα που συνέταξε παραπάνω, ότι το δέντρο είναι πλήρης και ολοκληρωμένη, αλλά δεν είναι τέλεια.

Ελπίζω αυτό να βοηθήσει.

Απαντήθηκε 19/10/2010 στις 15:06
πηγή χρήστη

ψήφοι
3

Μερικά ακόμη παραδείγματα τα οποία ελπίζουμε ότι θα είναι χρήσιμο:

Πλήρης, δεν είναι πλήρης:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
 / \  /
A  E O   

Πλήρης, δεν έχει ολοκληρωθεί:

        R
      /    \
     L      T
    / \    / \
  I    N   S   U
      / \
     O   P


        R
      /    \
     L      T
    / \    
  I    N   
 / \  / \
A  E O   P
Απαντήθηκε 21/10/2010 στις 03:38
πηγή χρήστη

ψήφοι
1

Πλήρης δέντρο: ένα δυαδικό δένδρο T είναι πλήρης αν κάθε κόμβος είναι είτε ένα φύλλο είτε έχει ακριβώς δύο κόμβους του παιδιού.

      O
     / \
    O   O
   / \ / \
  O  O O  O
    / \
   O   O

Πλήρης δέντρο, αλλά δεν έχει ολοκληρωθεί

Πλήρης δέντρο: ένα δυαδικό δένδρο T με τα επίπεδα του n είναι πλήρης αν όλα τα επίπεδα, εκτός ίσως η τελευταία είναι εντελώς γεμάτο, και το τελευταίο επίπεδο έχει όλους τους κόμβους του στην αριστερή πλευρά.

       O
      / \
     O   O
    /
   O

Πλήρης δέντρο αλλά όχι πλήρη

Ομοίως, ένα άλλο παράδειγμα

      O
     / \
    O   O
   / \ / \
  O  O O  O
 /\ /
O O O

Ελπίζω ότι αυτές είναι χρήσιμες!

Απαντήθηκε 21/04/2014 στις 22:30
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more