深度为k的完全二叉树最少的节点数!!!理解不到啊!求教!为什么是2的k-1 次方
完全二叉树的意思:每层结点都完全填满,在最后一层上如果不是满的,则只缺少右边的若干结点。所以深度为k的完全二叉树,其节点最少的情况为最后一层只有最左边有一个叶节点,其余各层填满。这种情况下,总节点数为2^(k-1)-1 +1, 其中2^(k-1)-1为除最后一层外的节点总数。
另外,这种计算方法认为只包含一个根节点的二叉树深度为1,有些书认为这种树深度为零,答案也会不一样。
完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树
k: 1 2 3 4 ... k
O O O O
/ / \ / \
O O O O O
/ / \ / \
O O OO O
/
O
最少节点数:1 2 4 8 2^(k-1)
你的答案是错的,因为深度为k-1的满二叉树节点数是2^k-1,所以深度为k的完全二叉树最少的节点数应该是2^k
。
当最后一层只有一个结点时完全二叉树结点总数最少,则可知前h-1层共有(2^h-1)-1个,加上最后一个即总数为:(2^h-1)-1+1 ==2^h-1个!
2^k-1 个
1
2 3
4 5 6 7
8
4层--》8个结点