欢迎光临散文网 会员登陆 & 注册

【从堆的定义到优先队列、堆排序】 10分钟看懂必考的数据结构——堆

2023-07-09 20:58 作者:Ssssssssssf  | 我要投稿
# 堆: 了解下就好
# 一、堆是完全二叉树的结构
# 什么是完全二叉树:1.只允许最后一行不满 2.最后一行必须从左往右排,中间不能有间隔
# 二、堆序性 1.小根堆,父节点都要更小 2.大根堆,父节点都要更大
# 三、堆的存储,因为是完全二叉树,所以可以根据层序遍历,来得到一个数组,此时,父节点为i时,左右子节点一定为2i+1/2
# 四、堆有两个基本操作:1.上滤,通常用于插入新元素到根中时,向上调整位置时
# 2.下滤(因为必须要满足堆序性的话,所以对不满足的要操作),把根节点向下调整的操作叫下滤
# 五、自顶向下建堆法:1.插入堆 2.上滤
# 六、自下而上建堆法:对每个父节点进行下滤(从最下面的父节点开始)-- 复杂度O(N)
# 七、应用 1.优先队列:弹出最小元素 -- 可以用来实现堆排序,用大根堆排序完,弹出的是正序,小根堆反 2.插入:就是上滤


【从堆的定义到优先队列、堆排序】 10分钟看懂必考的数据结构——堆的评论 (共 条)

分享到微博请遵守国家法律