堆
堆(Heap)是一种树状的数据结构(不要跟内存模型中的“堆空间”混淆)。
常见的堆有:
堆有一个重要的性质:
任意节点的值总是>=(<=)子节点的值。
如果任意节点的值总是>=子节点的值,则称为:最大堆,大根堆,大顶堆
如果任意节点的值总是<=子节点的值,则称为:最小堆,小根堆,小顶堆。
堆中的元素必须具备可比较性。
堆的接口设计:
二叉堆
二叉堆的逻辑结构就是一颗完全二叉树,所以也叫完全二叉堆。
由于完全二叉树的结构特性,二叉堆的底层结构用数组实现即可。
微信扫一扫
堆(Heap)是一种树状的数据结构(不要跟内存模型中的“堆空间”混淆)。
常见的堆有:
堆有一个重要的性质:
任意节点的值总是>=(<=)子节点的值。
如果任意节点的值总是>=子节点的值,则称为:最大堆,大根堆,大顶堆
如果任意节点的值总是<=子节点的值,则称为:最小堆,小根堆,小顶堆。
堆中的元素必须具备可比较性。
堆的接口设计:
二叉堆的逻辑结构就是一颗完全二叉树,所以也叫完全二叉堆。
由于完全二叉树的结构特性,二叉堆的底层结构用数组实现即可。
相关推荐