Дерево статистики заказов
-
Дерево статистики заказов
- Вариант дерева бинарного поиска или B-дерева
- Поддерживает операции Select(i) и Rank(x)
- Обе операции выполняются за O(log n) времени
-
Реализация расширенного дерева поиска
- Узлы дерева сохраняют размер поддерева
- Операции изменяют размер для сохранения инварианта
-
Реализация Select
- Использует родительскую функцию p[x]
-
Реализация Rank
-
Дополнительные возможности
- Деревья могут быть дополнены бухгалтерской информацией для баланса
- Поле «Размер» можно использовать с балансировкой веса
-
Рекомендации
- Смотрите также: Неявный treap, Дерево сегментов
- Внешние ссылки: Закажите статистическое дерево на PineWiki, Йельский университет
- Пакет Python blist использует B-деревья статистики заказов для быстрой вставки в произвольные позиции