大、小根堆

大根堆:根节点大于左右节点的值

小根堆:根节点小于左右节点的值


下面我将对小根堆的相关知识做一个描述,大根堆类似,这里就不做详细介绍了


创建:

从最后一个非叶子节点开始,自低向上调整为小根堆,然后从倒数第二个非叶子节点开始,依次进行。

如上图,非叶子节点顺序为 09》》78》》17》》53

以09为例,因为09的值比23小,所以不用交换,

然后比较78对应的节点,78比65大,所以将78和65交换。

然后比较17这个节点,17比09大,所以交换两者的值。

这是一趟完整的自底向上的调整,然后继续从开始调整,直到调整为小根堆


插入


将待插入的元素插入堆的最后面,然后自底向上调整为小根堆。


删除


将顶元素删除,然后将堆的最后一个元素放入堆顶,然后自顶向下调整为小根堆。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值