二叉树计算题

1.完全二叉树共有 2 ∗ N − 1 2*N-1 2N1个结点,则它的叶节点数是_____
n 0 n_0 n0为叶子结点的个数, n 1 n_1 n1为有一个孩子结点的结点个数, n 2 n_2 n2为有两个孩子结点的结点个数, m m m为二叉树边的条数
完全二叉树有偶数个结点,所以 n 1 = 0 n_1=0 n1=0
n 0 + n 2 = 2 ∗ N − 1 n_0+n_2=2*N-1 n0+n2=2N1(共有 2 ∗ N − 1 2*N-1 2N1个结点)
m = n 0 + n 2 − 1 m=n_0+n_2-1 m=n0+n21(树的性质:边的个数 = = =总结点数 − 1 -1 1
n 2 ∗ 2 = m n_2*2=m n22=m(每一个非叶子结点都有2条边)
解得 n 0 = N n_0=N n0=N

2.一个包含n个分支结点(非叶结点)的非空二叉树,它的叶结点数目最多为_____
n 0 n_0 n0为叶子结点的个数, n 1 n_1 n1为有一个孩子结点的结点个数, n 2 n_2 n2为有两个孩子结点的结点个数, m m m为二叉树边的条数
n 0 + n 1 + n 2 − 1 = m n_0+n_1+n_2-1=m n0+n1+n21=m(树的性质:边的个数 = = =总结点数 − 1 -1 1
1 ∗ n 1 + 2 ∗ n 2 = m 1*n_1+2*n_2=m 1n1+2n2=m(非叶子结点的孩子总数 = = =边数)
n 0 − 1 = n 2 n_0-1=n_2 n01=n2
带入式子 n 1 + n 2 = n n_1+n_2=n n1+n2=n(共 n n n个非叶子结点)得
n 0 + n 1 − 1 = n n_0+n_1-1=n n0+n11=n
n 1 = 0 n_1=0 n1=0 n 0 n_0 n0最大为 n + 1 n+1 n+1

总结
求解与二叉树相关的计算题,充分利用二叉树的性质和题中条件建立方程,然后求解。

猜你喜欢

转载自blog.csdn.net/qq_41685509/article/details/108717278