接上篇https://blog.csdn.net/Mr_zhang66/article/details/108440938
堆分为两种,一种叫大根堆,一种叫小根堆
大根堆:完全二叉树中任何一个树的最大值都是其头部
例如下图所示:整棵树的最大值就是其头部6,每颗子树的最大值也是头部 5,每颗小树的 最大值是其自身,如3 4 4
小根堆:完全二叉树中任何一个树的最小值都是其头部
给一个数组,如何建立 大根堆
例如:
在构造完全二叉树的过程中
发现数字3比父节点数字大,
ps:怎么找自己的父位置:按照我们之前提过的,用(i-1)/2
所以这俩者交换,得到
此时,0到2范围上形成 了完全二叉树
同时,这个6比1要大,继续往上换
得到
此时,6还要接着与3交换
总之,相等的时候不换,只有大于父节点才换