最大堆和最小堆是二叉堆的两种形式。
最大堆:根结点的键值是所有堆结点键值中最大者,且每个结点的值都比其孩子的值大。
最小堆:根结点的键值是所有堆结点键值中最小者,且每个结点的值都比其孩子的值小。
上图:
通常来说, 最小堆用于排序找到一堆数据里面的最小的。因为最小值一定会上浮到根结点。通常用于优先队列。定时器的数据结构。最大堆原理类似。 不同的是找一堆数据里面的最大值。 因为最大值一定会上浮到根结点。中途添加,删除节点,修改。都会对应的调整二叉树。使其满足最小堆或最大堆的性质。
END.