Bevis for dybde av balansert søketre

stemmer
2

Hvis T er en balansert BST med n elementer, L dens venstre subtre og R, dens rette, hvordan kan jeg bevise at dens dybde er mindre enn eller lik 2log (n) + 1?

Det er en induksjonsbevis som jeg har, men jeg skjønner det ikke.

(Jeg forstår at Stackoverflow er hovedsakelig programmering orientert, men jeg fant noen spørsmål om binære søketrær og bestemte seg for å gi det et forsøk, håper jeg ikke gjør noe ikke er bra. :))

Publisert på 07/11/2009 klokken 23:38
kilden bruker
På andre språk...                            


2 svar

stemmer
2

Ved definisjon av "balansert", dypet av hvert venstre og høyre subtre av samme node forskjellig på de fleste etter en. "Depth" blir vanligvis definert som "antall trinn på lengste tur fra treets rot ned til blad", slik at for eksempel en BST med en rot og to blader (tre elementene i den eneste måten de kan anordnes i et balansert BST) er sies å ha dybde en (ser ut som du bruker en litt annen definisjon som ville gi den dybde to?), så ville man med en rot og ett blad (enten at bladet er roten venstre eller høyre subtre gjør ingen forskjell), mens man med bare en rot som også er et blad (et enkelt element) vil ha dybde 0. (Det er ingen BST med null elementer).

Så for n <= 3-elementer, kalle D (n) treet dybde som definert ovenfor, klart D(n) < log(n) + 1(med loghenhold basis-2 logaritme) ved inspeksjon, siden 1 = D(2) < log(2) + 1 = 2(og også 1 = D(3)for hvilken RHS av ulikhet, log(3) + 1er faktisk > 2), og 0 = D(1) < log(1) + 1 = 1- dette gir oss induksjon basen.

For å fullføre induksjonsbevis må vi vise at hvis D(k) < log(k) + 1for alle k < n, så er det også slik at D(n) < log(n) + 1.

Hvis n er et oddetall, klart venstre og høyre subtre har (n-1)/2elementer som hver, og treet har en dybde mer enn subtreene; men deretter D(n) = 1 + D((n-1)/2) < 1 + 1 + log((n-1)/2)(ved induksjon av hypotese) = 1 + log(n-1)(siden log((n-1)/2) = log(n-1) - 1) og således en fortiori < 1 + log(n), QED.

Hvis ner enda du følger bare de samme trinnene med log(n)i stedet for log(n-1)og uten "en fortiori" finish, og beviset fortsatt holder.

Svarte 08/11/2009 kl. 00:37
kilden bruker

stemmer
0

Svaret er sant hvis Balansert binærtreet er komplett antall elementer i høyre og venstre sub treet kan være (n-1) / 2, men hvis det ikke er komplett, antall elementer trenger ikke å være (n-1) / 2 som siste nivå kan ha ulike elementer

Svarte 04/08/2016 kl. 16:10
kilden bruker

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