Биномиальная куча
-
Определение и свойства биномиальной кучи
- Биномиальная куча — это структура данных, которая поддерживает операции вставки, удаления и поиска минимума.
- Она состоит из биномиальных деревьев, где каждый узел имеет не более двух дочерних элементов.
- Биномиальные деревья упорядочены по размеру ключа, и количество деревьев определяется количеством битов в ключе.
-
Операции биномиальной кучи
- Вставка элемента в биномиальную кучу требует времени O(log n).
- Объединение двух куч выполняется за время O(log n) и соответствует двоичному сложению размеров куч.
- Поиск минимума в биномиальной куче занимает время O(log n), а удаление минимума — O(log n).
-
Реализация биномиальной кучи
- Корни биномиальных деревьев хранятся в связанном списке, упорядоченном по порядку дерева.
- Для каждого узла используются ссылки на его дочерние элементы, упорядоченные по двоичному дереву.
- Операция слияния двух куч выполняется за время O(log n).
-
Амортизированное время операций
- Амортизированное время вставки составляет O(1) после первой вставки.
- Амортизированное время удаления минимума составляет O(1) на каждую операцию.
-
Приложения биномиальной кучи
- Используется для моделирования дискретных событий и в приоритетной очереди.
-
Ссылки и реализации
- Существуют реализации биномиальной кучи на различных языках программирования.