Η απόδειξη για το βάθος της ισόρροπης δέντρου αναζήτησης

ψήφοι
2

Αν Τ είναι ένα ισορροπημένο BST με n στοιχεία, L αριστερό υποδένδρο του και R σωστή του, πώς μπορώ να αποδείξει ότι το βάθος της είναι μικρότερη ή ίση με 2log (n) + 1;

Υπάρχει μια απόδειξη με επαγωγή που έχω, αλλά εγώ δεν το πάρει.

(Καταλαβαίνω ότι Stackoverflow κυρίως προγραμματισμός προσανατολίζεται αλλά βρήκα μερικές ερωτήσεις σχετικά με δυαδικά δέντρα αναζήτησης και αποφάσισε να δώσει μια δοκιμή, ελπίζω να μην κάνω κάτι που δεν είναι καλό. :))

Δημοσιεύθηκε 08/11/2009 στις 00:38
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
2

Εξ ορισμού των «ισορροπημένη», βάθη της κάθε αριστερά και δεξιά υποδένδρων του ίδιου κόμβου διαφέρουν το πολύ κατά ένα. «Βάθος» είναι συνήθως ορίζεται ως «αριθμός βήματος μεγαλύτερη απόσταση με τα πόδια από το δέντρο ρίζα κάτω στο φύλλο», έτσι για παράδειγμα μια BST με μία ρίζα και τα δύο φύλλα (τρία στοιχεία με το μόνο τρόπο που μπορούν να οργανωθούν σε μια ισορροπημένη BST) είναι λέγεται για να έχει βάθος ένα (φαίνεται σαν να χρησιμοποιείτε ένα ελαφρώς διαφορετικό ορισμό που θα δώσει βάθος δύο;), όπως και ένα με μία ρίζα και ένα φύλλο (αν το φύλλο είναι αριστερά ή δεξιά υποδέντρο της ρίζας του δεν κάνει καμία διαφορά), ενώ το ένα με μόνο μια ρίζα που είναι επίσης ένα φύλλο (ένα μόνο στοιχείο) θα έχει βάθος 0. (δεν υπάρχει BST με μηδέν στοιχεία).

Έτσι, για n <= 3 στοιχεία, καλώντας D (n) το βάθος δέντρο όπως ορίζεται ανωτέρω, σαφώς D(n) < log(n) + 1(με logνόημα βάσης-2 λογάριθμο) μέσω επιθεώρησης, δεδομένου ότι 1 = D(2) < log(2) + 1 = 2(και επίσης 1 = D(3)για τις οποίες η RHS της ανισότητας, log(3) + 1, είναι στην πραγματικότητα > 2), και 0 = D(1) < log(1) + 1 = 1- αυτό μας δίνει τη βάση επαγωγής.

Για να ολοκληρωθεί η απόδειξη με επαγωγή πρέπει να δείξουμε ότι αν D(k) < log(k) + 1για όλους k < n, τότε προκύπτει επίσης ότι D(n) < log(n) + 1.

Εάν το η είναι περιττός, σαφώς αριστερά και δεξιά υποδένδρο έχουν (n-1)/2στοιχεία το καθένα, και το δέντρο έχει βάθος 1 πάνω από τις subtrees? αλλά στη συνέχεια D(n) = 1 + D((n-1)/2) < 1 + 1 + log((n-1)/2)(από την επαγωγική υπόθεση) = 1 + log(n-1)(από το log((n-1)/2) = log(n-1) - 1) και έτσι κατά μείζονα λόγο < 1 + log(n), QED.

Αν nείναι ακόμη ακολουθήσετε ακριβώς τα ίδια βήματα με log(n)όχι log(n-1)και χωρίς το «a fortiori» φινίρισμα, και η απόδειξη εξακολουθεί να κατέχει.

Απαντήθηκε 08/11/2009 στις 01:37
πηγή χρήστη

ψήφοι
0

Η απάντησή σας είναι αλήθεια, αν Ισορροπημένη δυαδικό δέντρο είναι πλήρης ο αριθμός των στοιχείων στο δεξί και το αριστερό υπο δέντρο μπορεί να είναι (n-1) / 2, αλλά αν δεν είναι πλήρης, ο αριθμός των στοιχείων πρέπει να μην είναι (n-1) / 2, όπως τελευταίο επίπεδο μπορεί να έχουν διαφορετικά στοιχεία

Απαντήθηκε 04/08/2016 στις 16:10
πηγή χρήστη

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