Блог пользователя Bur

Автор Bur, история, 6 лет назад, По-русски

В явном дереве ключи у выбираются рандомно, за счет чего линейное время маловероятно, однако в неявном дереве нет рандома, как тогда обстоит дело с ассимптотикой и сложно ли подобрать ТЛный тест? Подскажите, кто разбирается, буду благодарен.

  • Проголосовать: нравится
  • +1
  • Проголосовать: не нравится

»
6 лет назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

лично я не разбираюсь

»
6 лет назад, # |
  Проголосовать: нравится +46 Проголосовать: не нравится

Могу ошибаться, но рандомно выбираются приоритеты, а не ключи. Оценка высоты неявного ДД такая же, как и у явного.

»
6 лет назад, # |
  Проголосовать: нравится -6 Проголосовать: не нравится

Время работы зависит от высоты, а высота от приоритетов — а они рандомные. Таким образом (по доказанному для ДД с явными ключами), высота будет О(logN), значит, асимптотика на операцию O(logN).

»
6 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Для фиксированных ключей и приоритетов существует единственное подходящее декартово дерево. Для фиксированных ключей при случайных приоритетах математическое ожидание высоты декартова дерева — log(n).
В случае с неявным ДД в каждый момент времени можно считать, что ключи — позиции элементов в ДД (количество меньших элементов + 1). А значит приоритеты выбраны случайно по отношению к ним (так как мы заранее выбрали случайные приоритеты) и поэтому в каждый момент времени математическое ожидание высоты неявного декартово дерево — log(n).