构建堆
最大堆
从最后一个非叶子节点开始:
和孩子节点的最大值比较
大于 - 不需要继续下沉
小于 - 和最大值交换位置,继续和下一层孩子重复
1
,2
,3
1 | function adjustMaxHeap(array, index, length) { |
最小堆
从最后一个非叶子节点开始:
和孩子节点的最小值比较
小于 - 不需要继续下沉
大于 - 和最小值交换位置,继续和下一层孩子重复
1
,2
,3
1 | function adjustMinHeap(array, index, length) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 乱炖锅!
评论