用数组存放二叉堆

一个小根堆 比如这样一个小根堆

里面是数据 外面的是数组的索引
用数组存放如下

 

必须从索引1开始才可以 不能从0开始
在下标 为K的结点  它的左孩子2K的下标结点    右孩子2K+1结点     父亲为K/2
比如 下标为2的值为4   左孩子为2*2=4的下标值为6  右孩子为2*2+1=5的下标值为5    父亲为2/2=1的下标值为2

猜你喜欢

转载自blog.csdn.net/maqingbin8888/article/details/81986550