数据结构-堆Heap
一、堆的概念
堆逻辑上是一颗完全二叉树;
堆物理存储在数组中;
满足任意节点的值大于其子树的节点值称为大堆;任意节点的值小于其子树节点的值称为小堆;
堆的作用是:快速找到集合中的最值。
二、建堆、向下调整
下面我们给出一个数组,这个数组逻辑上可以看做一颗完全二叉树,但是还不是一个堆,现在我们通过算法,把它构建成一个堆。根节点左右子树不是堆,我们怎么调整呢?这里我们从倒数的第一个非叶子节点的子树开始调整,一直调整到根节点的树,就可以调整成堆。(大堆为例)
int[] arr={1,5,3,8,7,6}
调
原创
2020-08-07 16:03:06 ·
206 阅读 ·
0 评论