Losowe binarne drzewo poszukiwań

głosy
1

Mam BST gdzie wstawić klawisze od 1 ... n losowo (każda permutacja odbywa się 1 / n! prawdopodobieństwo) . moje pytanie brzmi dlaczego powstałe drzewa nie są jednolite , nawet jeśli permutacji są jednolite ?

Utwórz 21/03/2011 o 22:33
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
3

Wiele zależy od implementacji drzewa. Jest to wyważanie ja? Rozważmy prosty drzew o 1 2 3 i 3 2 1

Very simple tree:
add 1

1

add 2


1
 \
  2

add 3

 1
  \
   2
    \
     3

Następnie 3 2 1

dodać 3

3

add 2


  3
 /
2

add 1

     3
    /
   2
  / 
 1

Teraz zrobić 2 3 1

2

2
 \
  3


  2
 / \
1   3
Odpowiedział 21/03/2011 o 22:37
źródło użytkownik

głosy
1

wyszukiwanie binarne drzewo nie jest tak jednolita drzewo szukaj ... drzewo zbudowany jest w porządku, w którym nowe wartości są zapisywane w nim. jak glowcoder już pokazał, że gwarantują jednorodność robi ...

o równomierny rozkład liczb losowych nie gwarantuje porządek wartości, który jest optymalny do zbudowania binarne drzewo

aby mieć minimalny wysiłek poprzez przeszukiwanie binarne drzewo, drzewo musi być regularnie odbudować. Że zwykle dzieje się w pozazawodowych godzinach, gdzie algorytm może odczytywać całe drzewo w połączonej listy, a następnie z tej listy, buduje nowe drzewo z optymalną jednorodność

Odpowiedział 21/03/2011 o 22:45
źródło użytkownik

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