Откуда нам нужно начать в алгоритме max-heapify?
Мне не нужно: есть ли у нас способ применить алгоритм max-heapify? Нужно ли применять его снизу вверх или сверху вниз? Или мы можем применить его к местам, которых нет в свойствах кучи? когда мы собираемся сохранить свойство кучи в дереве.
может ли тело помочь?
1 ответ
Я не могу получить ваш вопрос абсолютно, но я думаю, что вы сомневаетесь в том, движемся ли мы сверху вниз или снизу вверх.
На самом деле в heapify мы перемещаемся от верхнего узла (i) к нижнему (конечные узлы) и пытаемся поддерживать свойство heap по мере движения.
A: массив, в котором левый и правый дочерние элементы i корневых куч, i: индекс массива
взгляните на этот ресурс. http://homepages.ius.edu/RWISMAN/C455/html/notes/Chapter6/heapify.htm
Смотрите этот PDF для более подробной информации.
http://courses.csail.mit.edu/6.006/fall10/handouts/recitation10-8.pdf
надеюсь, это очистит ваши сомнения.