Bewijs voor de diepte van de evenwichtige zoekboom

stemmen
2

Indien T een evenwichtig BST met n elementen, L een linker deelboom en R de juiste is, hoe kan ik bewijzen dat de diepte kleiner is dan of gelijk aan 2log (n) + 1?

Er is een bewijs door inductie die ik heb, maar ik snap het niet.

(Ik begrijp dat stackoverflow wordt voornamelijk programmering georiënteerd, maar ik vond een aantal vragen over binary search bomen en besloten om het eens te proberen, hoop dat ik niet iets niet goed te doen. :))

De vraag is gesteld op 08/11/2009 om 00:38
bron van user
In andere talen...                            


2 antwoorden

stemmen
2

Per definitie "evenwichtige", diepten iedere linker en rechter sub-bomen van dezelfde knoop verschillen hooguit één. "Depth" wordt gewoonlijk gedefinieerd als "het aantal stappen van de langste lopen van boomwortel beneden naar leaf", dus bijvoorbeeld een BST met één wortel en twee bladeren (drie elementen op de enige manier kunnen worden gerangschikt in een evenwichtig BST) is zei de diepte een te hebben (ziet eruit alsof je met een iets andere definitie dat het zou geven diepte twee?), als ging het om één met een wortel en een blad (of dat blad is links of rechts deelboom de wortel maakt geen verschil), terwijl één met alleen een wortel die een blad (een element) diepte 0. zou (er is geen BST met nul elementen).

Dus voor n <= 3 elementen, roepen D (n) de structuurdiepte zoals hierboven gedefinieerd, duidelijk D(n) < log(n) + 1(met logzin logaritme met grondtal 2) van inspectie, omdat 1 = D(2) < log(2) + 1 = 2(en ook 1 = D(3)waarvoor de RHS ongelijkheid, log(3) + 1is feitelijk > 2), en 0 = D(1) < log(1) + 1 = 1- dit geeft ons de inductie basis.

Om het bewijs door inductie moeten we dat als tonen voltooien D(k) < log(k) + 1voor alle k < n, dan volgt ook dat D(n) < log(n) + 1.

Als n oneven is, duidelijk linker en rechter deelboom hebben (n-1)/2die elk, en de boom diepte 1 meer dan deelbomen; maar D(n) = 1 + D((n-1)/2) < 1 + 1 + log((n-1)/2)(door de inductiehypothese) = 1 + log(n-1)(sinds log((n-1)/2) = log(n-1) - 1) en dus a fortiori < 1 + log(n), QED.

Als nzelfs volgen je gewoon dezelfde stappen met log(n)in plaats van log(n-1)en zonder de "a fortiori" afwerking, en het bewijs heeft nog steeds.

antwoordde op 08/11/2009 om 01:37
bron van user

stemmen
0

Uw antwoord is waar als gebalanceerde binaire boom compleet is het aantal elementen in de rechter en linker sub boom kan worden (n-1) / 2, maar als het niet compleet, aantal elementen hoeven niet te worden (n-1) / 2 als laatste niveau kunnen verschillende elementen

antwoordde op 04/08/2016 om 16:10
bron van user

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