У меня есть BST , где я вставить ключи от 1 ... п случайным образом (каждая перестановка осуществляется с 1 / п! вероятностью) . мой вопрос, почему получающиеся дерева не равномерные , даже если перестановка являются равномерной ?
Случайные Двоичное дерево
Многое зависит от реализации дерева. Является ли это само балансирование? Рассмотрим простые деревья 1 2 3 и 3 2 1
Very simple tree:
add 1
1
add 2
1
\
2
add 3
1
\
2
\
3
затем 3 2 1
добавить 3
3
add 2
3
/
2
add 1
3
/
2
/
1
Теперь сделайте 2 3 1
2
2
\
3
2
/ \
1 3
бинарное дерево поиска не только равномерное дерево поиска ... дерево строится в том порядке, в котором новые значения сохраняются в нем. а glowcoder уже показали, что оленья кожа гарантия однородности ...
имеющий равномерное распределение случайных чисел не гарантирует порядок значений, что является оптимальным для построения бинарного дерева
иметь минимальное усилие поиск с помощью бинарного дерева, дерево необходимо регулярно восстанавливать. Это обычно происходит в не-бизнес-часов, где алгоритм может читать все дерево в связанный список, а затем из этого списка, строит новое дерево с оптимальной равномерности













