数据结构题目:在有n个叶子结点的完全二叉树中,最多有多少个结点?

问题描述:

数据结构题目:在有n个叶子结点的完全二叉树中,最多有多少个结点?

假设0、1、2度的结点分别为n0、n1、n2个,二叉树的结点总数为T:
按照结点算:T = n0 + n1 + n2 (1)
按照边算:T = n1 + 2 * n2 + 1 (2)
所以(1) - (2)n0 = n2 + 1
在知道n0等于n的情况下,n2等于n - 1,所以
T = n0 + n1 + n2 = 2 * n + n1 - 1
由于是完全二叉树,因此n1只可能为0或1,因此T = 2 * n + n1 - 1