为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
算法

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

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

讲师:吉他熊

课程内容:


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

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

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

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

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

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


堆得局限性

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

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


二项树

https://img1.sycdn.imooc.com//632f175300018f6e13590786.jpg

https://img1.sycdn.imooc.com//632f178d0001336c13860767.jpg

https://img1.sycdn.imooc.com//632f18570001504514060796.jpg

https://img1.sycdn.imooc.com//632f18be0001b9c013660781.jpg


斐波那锲堆

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

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


学习收获:

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

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


打卡截图:

https://img1.sycdn.imooc.com//632f15ff0001bc5f13840789.jpg


https://img1.sycdn.imooc.com//632f19e20001290d14560781.jpg

https://img1.sycdn.imooc.com//632f19fb00016f3f13890789.jpg




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消