数据结构---堆的操作与排序
发布时间
阅读量:
阅读量
介绍
首先需要明确区分数据结构中的堆与内存中的堆区,后者由操作系统进行管理,二者之间并无任何关联。在数据结构中,堆仅存在两种形式,即大堆与小堆。
- 大堆(大根堆):父节点的数值高于其左右子节点的数值,这意味着大堆的根节点在整个结构中处于最大值的位置,而左右子节点之间的数值关系则无特定要求。
- 小堆(小根堆):父节点的数值低于其左右子节点的数值,这表明小堆的根节点在整个结构中为最小值,而左右子节点之间的数值关系同样没有明确限制。

堆的表示
堆结构一般通过数组形式进行表示,其中数组内存储的是按照层序遍历顺序排列的堆元素,数组的第一个位置对应堆的根节点。

实现堆的基本操作
- 数据结构定义
//定义一个比较函数的函数指针,用来指明该堆是小堆还是大堆
typedef int (*Compare)(Heap
全部评论 (0)
还没有任何评论哟~
