学习课程:算法与数据结构高手养成-求职提升特训课
章节名称:第8章 堆与堆的高级变种 Heap
讲师:吉他熊
课程内容:
优先队列与堆:高级数据结构的敲门砖
实现优先队列最常用的数据结构,方便且高效
堆经常作为其他算法的优化措施,甚至是组成部分
1、Dijkstra算法使用堆来优化稀疏图最短路径的计算效率
2、A*算法使用堆来保证优先计算估价函数值最优的状态
堆是实现优先队列最方便,最简单同时足够高效的数据结构
堆得原理和实现包含了很多知识,可以帮我们从基础数据结构过渡到高级数据结构
堆得局限性
不支持快速合并-->二项堆
不支持快速修改元素(常数级别时间复杂度)-->斐波那锲堆
二项树
斐波那锲堆
斐波那锲堆是森林,其中每棵树都是堆
用双向链表链接树,表头存储最小值所在节点
学习收获:
知道了堆的2种高级变种,二项堆和斐波那锲堆
新的算法的发现就在旧算法的局限性中,在解决现有算法的局限问题时,使用现有的算法思想层层嵌套,新的算法就诞生了。
打卡截图: