树(二叉树)的性质
一棵结点个数为n、高度为h的m(m≥3)次树中,其分支数是( )
A.nh
B.n+h
C.n-1
D.h-1
由于二叉树中除了根结点以外,每个结点都有唯一的一个分支指向它,因此二叉树中:总分支数=总结点数-1
若一棵度为7的树有7个度为2的结点,有6个度为3的结点,有5个度为4的结点,有4个度为5的结点,有3个度为6的结点,有2个度为7的结点,该树一共有( )个叶子结点
A.35
B.28
C.77
D.78
根据二叉树的性质,叶子结点数 = 总度数+1 - 非叶子结点总数,
即7*2+6*3+5*4+4*5+3*6+2*7+1-(7+6+5+4+3+2) = 78
有一棵三次树,其中n3=2,n2=1,n0=6,则该树的结点个数为
A.9
B.10
C.12
D.大于等于9的任意整数
由树的性质 总结点数 = 总度数(总分支数)+1
所以结点数x = 6+2+度数为1的结点数y+1
所以x = 9+y 即x ≥ 9
一棵度为5、结点个数为n的树采用孩子链存储结构时,其中空指针域的个数是( )
A.5n
B.4n+1
C.4n
D.4n-1
孩子链五次树中,每个结点有五个指针,要么指向孩子结点要么为空,
那么总指针数为:5n,空指针数为:n-1(即边数)
所以,空指针数为5n-(n-1) = 4n-1
一棵完全二叉树中有1001个结点,其中度为1的结点个数是( )
A.0
B.1
C.2
D.不确定
完全二叉树的度为1结点数,即为只有左子树或者右子树的节点数量
对于完全二叉树
只可能存在一种情况
节点数为奇数时有一个节点只有一个左子树,所以n1 = 0 || 1
设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为
A.2h
B.2h-1
C.2h+1
D.h+1
结点数最少的情况如图
图源
除根节点以外,每层都有两个结点,则2(h-1) + 1 = 2h-1
一棵完全二叉树中有501个叶子结点,则至少有( )个结点
A.501
B.502
C.1001
D.1002
满二叉树中,应该有
2^(10-1) = 512
个叶子结点(思路)
缺少的叶子结点为
而10层的满二叉树有2^10 - 1 = 1023
个结点
设结点数为x
所有缺少的结点都是最后一行缺少的结点:数量为1023-x
而最后一行的结点数就等于:512-(1023-x) = x-511
由完全二叉树的结构可知缺少的结点数(1023-x)/2
就是倒数第二行的叶子结点数量,若1023-x为奇数则向上取整
所以x-511 + (1023-x)/2 = 501
解得x = 1001
设有一棵哈夫曼树的结点总数为35,则该哈夫曼树共有( )个叶子结点
A. 18
B. 20
C. 35
D. 30
哈夫曼树中,只有度数为0或为2的结点
本题中,假设为满二叉树
则总结点数为25-1=31,最后一行应该有24 = 16个叶子结点
但多出了四个节点,则多了两个度数为2的结点和四个度数为0的结点
所以叶子结点数为16-2+4 = 18