Представление Двоичной кучи
Как мы вчера уже поняли - двоичная куча - это полноценное двоичное дерево. Представляется куча в виде массива.
Корневой элемент будет всегда в arr0 (нулевом индексе массива). В табличке (на картинке) - как раз указано, как в дальнейшем берутся индексы.
Есть интересные свойства:
1. arr(i-1) / 2 - вернет всегда родительский узел
2. arr(2 * i) + 1 - вернет левый дочерний узел
3. arr(2 * i) + 2 - вернет правый дочерний узел
Data Science: Алгоритмы и Структуры данных
Post #4803
642
