堆的定义 ---这个文章是原理,其实可以用STL实现,没必要自己写
-
堆中某个节点的值总是不大于或不小于其父节点的值;
-
堆总是一棵完全二叉树。
堆的分类 (注意,这种写法是数组下标是从1开始,而不是从零0开始的)
分大根堆和小根堆
下面是小根堆,小根堆的定义是:任何一个子节点都不小于它的父节点。堆的根节点总是最小
下面是大根堆。大根堆的定义是:任何一个子节点都不大于它的父节点。堆的根节点总是最大
堆的存储与遍历。
以小根堆为例子
用数组存储就是:
堆中某个节点的值总是不大于或不小于其父节点的值;
堆总是一棵完全二叉树。
分大根堆和小根堆
下面是小根堆,小根堆的定义是:任何一个子节点都不小于它的父节点。堆的根节点总是最小
下面是大根堆。大根堆的定义是:任何一个子节点都不大于它的父节点。堆的根节点总是最大
以小根堆为例子
用数组存储就是: