继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第十九天 堆与堆的高级变种

zengxing358
关注TA
已关注
手记 46
粉丝 2
获赞 0

学习课程:算法与数据结构高手养成-求职提升特训课

章节名称:第8章 堆与堆的高级变种 Heap

讲师:吉他熊

课程内容:


优先队列与堆:高级数据结构的敲门砖

实现优先队列最常用的数据结构,方便且高效
堆经常作为其他算法的优化措施,甚至是组成部分

1、Dijkstra算法使用堆来优化稀疏图最短路径的计算效率

2、A*算法使用堆来保证优先计算估价函数值最优的状态

堆是实现优先队列最方便,最简单同时足够高效的数据结构

堆得原理和实现包含了很多知识,可以帮我们从基础数据结构过渡到高级数据结构


堆得局限性

不支持快速合并-->二项堆

不支持快速修改元素(常数级别时间复杂度)-->斐波那锲堆


二项树

http://img4.mukewang.com/632f175300018f6e13590786.jpg

http://img1.mukewang.com/632f178d0001336c13860767.jpg

http://img.mukewang.com/632f18570001504514060796.jpg

http://img1.mukewang.com/632f18be0001b9c013660781.jpg


斐波那锲堆

斐波那锲堆是森林,其中每棵树都是堆

用双向链表链接树,表头存储最小值所在节点


学习收获:

知道了堆的2种高级变种,二项堆和斐波那锲堆

新的算法的发现就在旧算法的局限性中,在解决现有算法的局限问题时,使用现有的算法思想层层嵌套,新的算法就诞生了。


打卡截图:

http://img2.mukewang.com/632f15ff0001bc5f13840789.jpg


http://img4.mukewang.com/632f19e20001290d14560781.jpg

http://img.mukewang.com/632f19fb00016f3f13890789.jpg




打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP