3. Основное свойство структуры данных КУЧА.
Основным свойством структуры данных КУЧА является
условие, что элементы в ней организованы таким образом, что
приоритет вершины не ниже приоритета каждого из ее "сыновей".
Так, если в качестве приоритета рассматривать
время, которое элемент может "ожидать", то приоритет вершины будет
тем выше, тем меньше время возможного ожидания.
На рис 5 изображены два полных бинарных
дерева, но только левое является бинарной кучей.
Пусть H - массив размера n, который будет использоваться для реализации
бинарной кучи, Num - количество элементов в куче, а
приоритет элемента определяется его значением, причем, чем меньше
значение элемента, тем больше его приоритет.
Основная идея моделирования состоит в том, что
"сыновьями" вершины с индексом i являются
вершины с индексами 2i и 2i+1. Отсюда следует, что "отцом" вершины с
индексом j является вершина с
индексом j/2. Отметим, что у корневой
вершины "отца" нет.
Поэтому основное свойство бинарной кучи
обеспечивается выполнением условия, что для любой тройки элементов с
индексами i, 2i, 2i+1 элемент с индексом i
должен иметь максимальный приоритет (в куче из трех элементов более
сильный всегда сверху). Ниже приводится способ поддержания этого
свойства при выполнении операций добавления и удаления минимального
элемента.
Назад