Zeitanalyse von binären Suchbaum Operationen

stimmen
0

Ich las über binäre Suchbäume, dass, wenn es zu einem kompletten Baum (alle Knoten außer Blattknoten haben zwei Kinder) n Knoten aufweist, dann kann kein Pfad mehr als 1 + n Knoten anmelden.

Hier ist die Berechnung habe ich ... können Sie mir zeigen, wo habe ich falsch gemacht ....

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)

Dann wie ist die Nummer 1 + log n kommen ...?

Veröffentlicht am 26/09/2011 um 18:26
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Kürzere Antwort: Die Anzahl xder Ebenen in einem vollständigen (oder perfekt) binären Baum ist log2(n+1), wo ndie Anzahl der Knoten ist (alternativ n = 2^(x-1)). Ein Baum mit xEbenen hat Höhe x-1. Der längste Weg von der Wurzel zu einem beliebigen Knoten enthält x = log2(n+1)Knoten (und x-1Kanten).

Nun , da n+1ist eine Potenz von 2, haben wir log2(n+1) = 1 + floor(log2(n)). Mit anderen Worten, 1 + log2(n)ist eine korrekte obere Grenze, aber es ist nie eine ganze Zahl.

Es ist mir unklar, ob die xin der Berechnung der Höhe oder die Anzahl der Ebenen bezieht.

Beantwortet am 26/09/2011 um 19:35
quelle vom benutzer

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