Изменения

Перейти к: навигация, поиск

Двоичная куча

52 байта убрано, 17:58, 6 июня 2012
Определение
{{Определение
|definition=
'''Двоичная куча''', или '''пирамида''' или '''сортирующее дерево''' — такое двоичное [[Дерево, эквивалентные определения|подвешенное дерево]], для которого выполнены следующие три условия:
* Значение в любой вершине не меньше, (если куча для максимум), чем значения её потомков.
[[Файл:Heap.gif|thumb|325px|Пример кучи для максимума]]
Удобная структура данных для сортирующего дерева — массив Удобнее всего двоичную кучу хранить в виде массива <tex>A[1..n]</tex>, у которого первый элемент, <tex>A[1]</tex> — элемент в корне, а потомками элемента <tex>A[i]</tex> являются <tex>A[2i]</tex> и <tex>A[2i+1]</tex>. Высота кучи определяется как высота двоичного дерева. То есть она равна количеству рёбер в самом длинном простом пути, соединяющем корень кучи с одним из её листьев. Высота кучи есть <tex>O(\log{N})</tex>, где <tex>N</tex> — количество узлов дерева.
Чаще всего используют кучи для минимума (когда предок не больше детей) и для максимума (когда предок не меньше детей).
Анонимный участник

Навигация