Mám BST kde vložení klíče od 1 ... n náhodně (každá permutace je provedeno s 1 / n! pravděpodobnosti) . Moje otázka je, proč výsledné stromy nejsou jednotná , i když permutace jsou jednotná ?
Random Binární vyhledávací strom
hlasů
1
2 odpovědí
hlasů 3
3
Hodně záleží na implementaci stromu. Je to samo vyrovnávací? Vezměme si jednoduchý stromy 1 2 3 a 3 2 1
Very simple tree:
add 1
1
add 2
1
\
2
add 3
1
\
2
\
3
pak 3 2 1
Přidají se 3
3
add 2
3
/
2
add 1
3
/
2
/
1
Teď už 2 3 1
2
2
\
3
2
/ \
1 3
hlasů 1
1
binární vyhledávací strom není jen jednotný vyhledávací strom ... strom je postaven v pořadí, ve kterém jsou nové hodnoty uložené v něm. as glowcoder již ukázal, že doesnt záruka uniformity ...
mající rovnoměrné rozložení náhodných čísel nezaručuje pořadí hodnot, které je optimální pro stavbu binárního stromu
mít minimální hledání úsilí prostřednictvím binárního stromu, strom, musí být pravidelně znovu sestavit. Které se obvykle děje v nepodnikatelské hodinách, kdy algoritmus může přečíst celý strom do propojeného seznamu a pak z tohoto seznamu, vytvoří nový strom s optimální uniformity













