Случайные Двоичное дерево

голоса
1

У меня есть BST , где я вставить ключи от 1 ... п случайным образом (каждая перестановка осуществляется с 1 / п! вероятностью) . мой вопрос, почему получающиеся дерева не равномерные , даже если перестановка являются равномерной ?

Задан 21/03/2011 в 22:33
источник пользователем
На других языках...                            


2 ответов

голоса
3

Многое зависит от реализации дерева. Является ли это само балансирование? Рассмотрим простые деревья 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
Ответил 21/03/2011 в 22:37
источник пользователем

голоса
1

бинарное дерево поиска не только равномерное дерево поиска ... дерево строится в том порядке, в котором новые значения сохраняются в нем. а glowcoder уже показали, что оленья кожа гарантия однородности ...

имеющий равномерное распределение случайных чисел не гарантирует порядок значений, что является оптимальным для построения бинарного дерева

иметь минимальное усилие поиск с помощью бинарного дерева, дерево необходимо регулярно восстанавливать. Это обычно происходит в не-бизнес-часов, где алгоритм может читать все дерево в связанный список, а затем из этого списка, строит новое дерево с оптимальной равномерности

Ответил 21/03/2011 в 22:45
источник пользователем

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