Tilfeldig binært søketre

stemmer
1

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 ?

Publisert på 21/03/2011 klokken 21:33
kilden bruker
På andre språk...                            


2 svar

stemmer
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
Svarte 21/03/2011 kl. 21:37
kilden bruker

stemmer
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

Svarte 21/03/2011 kl. 21:45
kilden bruker

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