Time analyse van binaire zoekboom operaties

stemmen
0

Ik las over binaire zoekboom dat als het is een complete boom (alle knooppunten behalve blad nodes hebben twee kinderen) met n knopen, dan is er geen weg kan meer dan 1 + log n knooppunten.

Hier is de berekening deed ik ... kan je me laten zien waar heb ik verkeerd gaan ....

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)

Hoe kreeg de nummer 1 + log n komen ...?

De vraag is gesteld op 26/09/2011 om 18:26
bron van user
In andere talen...                            


1 antwoorden

stemmen
1

Kortere antwoord: het aantal xniveaus in een volledig (of perfect) binaire boom is log2(n+1), waarbij nhet aantal knooppunten (alternatief n = 2^(x-1)). Een boom met xlevels heeft hoogte x-1. Het langste pad vanaf de wortel één knooppunt bevat x = log2(n+1)knooppunten (en x-1randen).

Nu omdat n+1een macht van 2, hebben we dat log2(n+1) = 1 + floor(log2(n)). Met andere woorden, 1 + log2(n)een goede bovengrens, maar het is nooit een integer.

Het is mij niet duidelijk of de xin uw berekening heeft betrekking op de hoogte of het aantal niveaus.

antwoordde op 26/09/2011 om 19:35
bron van user

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