堆的添加和弹出
我们以最小堆为例子,讲解如何添加、弹出堆中的元素
添加
优先队列先进先出,所以从队尾添加:
添加到队尾
检查是否小于父节点,是则上浮直到大于等于父节点
1 | function minHeapAdd(array = [], element) { |
弹出
优先队列先进先出,所以从头部弹出:
取出头部,并把尾部节点放到原头部位置
调整堆为最小堆(用到了构建最小堆中的函数)
1 | function minHeapPop(array = []) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 乱炖锅!
评论