Η χρονική ανάλυση των εργασιών δέντρο δυαδικής αναζήτησης

ψήφοι
0

Διάβασα για δυαδικά δέντρα αναζήτησης ότι αν είναι ένα πλήρες δέντρο (όλοι οι κόμβοι εκτός από τους κόμβους φύλλα έχουν δύο παιδιά) με n κόμβους, τότε δεν μονοπάτι μπορεί να έχει πάνω από 1 + log n κόμβους.

Εδώ είναι ο υπολογισμός που έκανα ... μπορείς να μου δείξει πού θα πάει στραβά ....

the first level of bst has only one node(i.e. the root)-->2^0
the second level have 2 nodes(the children of root)---->2^1
the third level has 2^3=8 nodes
 .
 .
the (x+1)th level has 2^x nodes

so the total number of nodes =n = 2^0 +2^1 +2^2 +...+2^x = 2^(x+1)-1
so, x=log(n+1)-1

now as it is a 'complete' tree...the longest path(which has most no of nodes)=x
and so the nodes experienced in this path is x+1= log(n+1)

Τότε πώς ο αριθμός 1 + log n καταλήξει ...;

Δημοσιεύθηκε 26/09/2011 στις 18:26
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
1

Μικρότερες απάντηση: ο αριθμός xτων επιπέδων σε πλήρη (ή τέλεια) δυαδικό δέντρο είναι log2(n+1), όπου nείναι ο αριθμός των κόμβων (εναλλακτικά, n = 2^(x-1)). Ένα δέντρο με xτα επίπεδα έχει ύψος x-1. Η μακρύτερη διαδρομή από την ρίζα προς κάθε κόμβο περιέχει x = log2(n+1)κόμβους (και x-1ακμές).

Τώρα, γιατί n+1είναι μια δύναμη του 2, έχουμε ότι log2(n+1) = 1 + floor(log2(n)). Με άλλα λόγια, 1 + log2(n)είναι ένα σωστό άνω-δεσμευμένης, αλλά ποτέ δεν είναι ένας ακέραιος.

Δεν είναι σαφές για μένα αν το xστον υπολογισμό σας αναφέρεται σε ύψος ή τον αριθμό των επιπέδων.

Απαντήθηκε 26/09/2011 στις 19:35
πηγή χρήστη

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