public BinaryHeap( AnyType [ ] items )
{
currentSize = items.length;
array = (AnyType[]) new Comparable[ ( currentSize + 2 ) * 11 / 10 ];
int i = 1;
for( AnyType item : items )
array[ i++ ] = item;
buildHeap( );
}
构建堆时,为什么要用当前 ( currentSize + 2 ) * 11 / 10 ,直接currentSize + 1 , 不行吗? 为什么要这么写,( currentSize + 2 ) * 11 / 10 有什么道理吗?小白求解!
https://blog.csdn.net/qq_18870127/article/details/84309964
你知道为什么了吗?求解啊兄弟
我明白了兄弟,这样操作可以保证每个节点都有自己的左右孩子空间。不信你可以带几个值试一试。
我也不明白五五