算法导论 二项堆

可以合并的堆 二项堆

先看看堆得操作运行时间的对比 对于使用这种数据结构有个概念

二项堆在union操作合并上有优势

二项堆由二项树组成 我们先看看二项树的定义

因为性质3中的系数就是二项式分布的系数,所以二项树名由此得来

B0 有2º = 1个节点

B₁ 有2¹=2个节点 且根节点比子节点小

B₂ 有2²=4个节点 且根节点比子节点小

B₃ 有2³=8个节点 且根节点比子节点小

二项堆则按照以下规则有二项树组成

由图 因为二项堆都是最小堆有序的,最小节点必定在跟节点中,寻找最小关键字就比较简单了 直接从head[H]中遍历查找就好了 图中经过查找 10 1 6 得到最小关键字 1

 代码后继增加.....

作 者: itdef
欢迎转帖 请保持文本完整并注明出处
技术博客 http://www.cnblogs.com/itdef/
B站算法视频题解
https://space.bilibili.com/18508846
qq 151435887
gitee https://gitee.com/def/
欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
如果觉得不错,欢迎点赞,你的鼓励就是我的动力
阿里打赏 微信打赏
原文地址:https://www.cnblogs.com/itdef/p/6755489.html