数据结构之堆的实现

首先我们要想堆应该用什么实现,我们这里可以使用数组,因为每一层的数是有限个的,所以我们可以很容易将数的每一个位置对应到数组中去。

那我们就可以仿照顺序表写出我们的结构。

然后我们要考虑我们要实现哪些函数。

最基本的功能初始化和销毁,不再赘述。

然后我们实现打印

然后我们实现经典的功能入堆。

重点保证空间足够。然后我们通过Adjustup去维护大,小根堆的堆放。(此处实现的是大根堆)

将其与父节点比较,然后进行移动,直至合适位置。

然后我们实现判断是否为空和显示堆顶元素。

然后就是本贴的最后的功能,出堆。

将最后一个元素移动到堆顶,然后再进行下放,维护大根堆。

综上就是全部内容。

相关推荐
m0_6399069411 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
2601_9707038315 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
丘山望岳20 小时前
单调栈和单调队列
数据结构
UIU1141 天前
P16237 [蓝桥杯 2026 省 B] 应急布线
数据结构·c++·算法·蓝桥杯
黎相思1 天前
BTree
数据结构·b树·b+树
UIU1142 天前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
niyongsheng2 天前
3D 装箱算法工程化:数据结构、放置启发式与支撑规则
数据结构·算法·rust
叉烧滑蛋2 天前
B站台湾大学郭彦甫|MATLAB 学习笔记|04 变量与档案存取
数据结构
j7~2 天前
【穷举、深搜与回溯算法】一棵决策树讲透全排列与子集
数据结构·c++·算法·leetcode·回溯·递归
not coder2 天前
一文讲通--从树到红黑树
数据结构·算法