Advertisement

堆的操作包括创建及基本操作

阅读量:
1、堆的概念

如果有一个关键码的集合 K=\{K_0,K_1,K_2,\dots,K_{n-1}\}, 将所有完全二叉树的结构以顺序存储的方式组织在一维数组中, 并满足以下条件: 每个节点 K_i 的值小于等于其左孩子和右孩子的值, 同时大于等于其左孩子和右孩子的值. 即对于每个 i=0,1,2,\dots, 都有 K_i \leqslant K_{2i+1}K_i \leqslant K_{2i+2}; 同时 K_i \geqslant K_{2i+1}K_i \geqslant K_{2i+2}. 则可称为小顶堆(亦称大顶堆)。其中以根节点具有最大值为特征的最大顶点称为最大顶点堆(max-heap),同样地,则被称为最小顶点堆(min-heap)。

堆的性质:

堆中每个节点的值总是不大于或不小于其父节点的值;

堆是一棵完全二叉树

在这里插入图片描述
2、堆的存储方式

二叉堆是一种特殊的完全二叉树结构,在数据存储上具有良好的特性。
一种高度为 h 的完全二叉树会有从 2h 到 2(h+1)-1个索引位置。
因此可

全部评论 (0)

还没有任何评论哟~