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 ?
Losowe binarne drzewo poszukiwań
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
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ść













