对于“任何”二叉树,所有节点和内部节点之间的关系是什么

时间:2017-08-18 03:14:01

标签: data-structures binary-tree

原始问题如下。

对于具有n个节点和i个内部节点的任何二叉树,n和i之间的关系是_____< = i。

在我看来

我认为n / 2< = i,但我不知道会让n / 2 = i的条件是什么。 我还想问一下根节点是内部节点吗?

1 个答案:

答案 0 :(得分:0)

在完整树中,有1 + 2 + ... + 2^(h-1)个内部节点和2^h叶节点(其中h是树的高度)。

这意味着节点的总数是

n = 1 + 2 + .... + 2^h = 2^(h+1)-1
i = 1 + 2 + ... + 2^h-1 = 2^h - 1

现在,对于您正在寻找的关系:

n-i = 2^h+1 - 1 - 2^h + 1 = 2^h+1 - 2^h = 2*2^h - 2^h = 2^h

2^h = i+1开始,你得到:

n - i = i+1
n - 1 = 2i
(n - 1)/2 = i

(注意非整数结果没有问题,因为n在完整树中总是奇数。)

现在,您要留下的只是完整的树确实是具有最高比例的树(这是留给读者的。)