Jeg har en BST der jeg sette inn tastene fra 1 ... n tilfeldig (enhver permutasjon er gjort med 1 / n! sannsynlighet) . Spørsmålet mitt er hvorfor de resulterende trær er ikke uniform selv om permutasjon er uniform ?
Tilfeldig binært søketre
stemmer
1
2 svar
stemmer 3
3
Mye avhenger av gjennomføringen av treet. Er det selvbalanserende? Betrakt de enkle trærne i 1 2 3 og 3 2 1
Very simple tree:
add 1
1
add 2
1
\
2
add 3
1
\
2
\
3
deretter 3 2 1
legge til 3
3
add 2
3
/
2
add 1
3
/
2
/
1
Nå gjør 2 3 1
2
2
\
3
2
/ \
1 3
stemmer 1
1
et binært søketre er ikke bare en uniform søketre ... et tre er bygget i den rekkefølgen nye verdier lagres i den. som glowcoder allerede viste at doesnt garanti ensartethet ...
å ha en jevn fordeling av tilfeldige tall garanterer ikke en bestilling av verdier som er optimalt å bygge et binært tre
å ha et minimum innsats søk via et binært tre, må treet være gjenoppbygge regelmessig. Som vanligvis skjer i ikke-business-timer, hvor en algoritme kan lese hele treet i en lenket liste, og deretter, fra den listen, bygger et nytt tre med optimal jevnhet













