树的计算题

来源:互联网 发布:002517恺英网络股票 编辑:程序博客网 时间:2024/04/30 12:41
一个4叉树,度为4的结点个数为6,度为3的节点个数是10,度为2的节点个数是5,叶子节点个数为()

设度为1的节点个数为x,度为0的节点为y。该树的分叉数为4*6+3*10+2*5+x*1
又因为节点数=分叉数+1;
节点数:6+10+5+x+y= 4*6+3*10+2*5+x*1+1
解得:y=44


设一棵树的度为 4 ,其中度为 4 , 3 , 2 , 1 的结点个数分别为 2 , 3 , 3 , 0 。则该棵树中的叶子结点数为( )答案:16

对于一棵树,设其总节点个数为n,度为0的节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2,……,度为m的节点个数为nm,则有:n=n0*0+n1*1+n2*2+…+nm*m+1
再有:n=n0+n1+n2+…+nm
联立两个式子得:n0=n2*1+n3*2+…+nm*(m-1)+1
所以本题中n0=2*3+3*2+3+1+1=16


一棵完全二叉树第六层有9个叶结点(根为第一层),则结点个数最多有()

这个题目第六层有9个叶结点,问最多有多少个结点,那我们可以想到可以有第7层,但是第7层少了18个结点,那么第六层就剩下9个叶子节点所以答案为:1+2+4+8+16+32+64-18=109


某棵完全二叉树上有699个节点,则该二叉树的叶子节点数为()

看看n是否能被2整除,能则用n0=n/2。否则用n0=(n+1)/2 既叶子节点为n0=(n+1)/2=350


若以{4,5,6,7,8}作为叶子结点的权值构造哈夫曼树,则其带权路径长度是()。

构造方法是每次取最小的两个数, 合并成一个数, 然后循环这种做法, 直到只剩一个点为止。构造的树是
30
17 13
8 9 6 7
4 5

所以带权路径长度是 (除根节点外其它节点的和?)69


一棵完全二叉树,共有122个节点,那么度数为2的节点数是(        )答案:60

n2=(n-1)/2向下取整


一棵有124个叶节点的完全二叉树,最多有( )个节点。

n0 = n2 + 1,于是度为2的结点个数123个
完全二叉树中度为1结点个数最多1个
因此该完全二叉树中结点最多有123 + 1 + 124 = 248个


若一棵完全二叉树有768 个结点,则该二叉树中叶结点的个数是( )。

(敲黑板)重点:
节点数n=n0+n1+n2;
当节点数n为奇数,无度为1的节点;节点n为偶数,有一个度为1的节点;
非空二叉树,n0=n2+1;
综上所述:
768=n0+n1+n2;
n2=n0-1;
所以n0=384


设二叉树中的结点总数为49,若用二叉链表作为存储结构,则该二叉树中总共有多少个空指针域()

一共有 n个节点。那么每一个节点都有两个域,共有2n个。一共有多少个分支呢?每一个节点都有父节点(除了根节点)那么就会有n-1个分支。那么空指针的域就是2n - (n-1) = n+1;那么就会有n+1个空指针域。也就是50个。不管是不是满二叉树,这个结论都是正确的。

———-

给定n个结点,能构成h(n)种不同的二叉树,h(n)=C(2n,n)/(n+1) (n=0,1,2,…)


非连通的图没有生成树。这是由生成树的定义决定的:
生成树是连通图的包含图中的所有顶点的极小连通子图。
如果原图不连通,则不可能存在包含原图中所有顶点的连通子图。


在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶结点个数是_______。

任何一棵树中,结点个数比分支个数多一
分支个数等于20*4+10*3+1*2+10*1=122
所以这棵树一共有123个结点
度不为零的结点数目为20+10+1+10=41
所以叶子结点也就是度为零的结点个数为123-41=82


某二叉树结点的中序序列为BDAECF,后序序列为DBEFCA,则该二叉树对应的森林包括()棵树答案:3

1:由后序序列推出 A为根结点
2:将A代入中序中得 (BD)A(ECF),BD为左子树,ECF为右子树
3:对于 BD:
中序:BD
后序:DB
推出:(空)B(D)
4:对于 ECF:
中序:ECF
后序:EFC
推出:(E)C(F)
二叉树到森林的转换是:二叉树中节点的左孩子是森林中该节点的孩子,右孩子是森林中该节点的兄弟。


在一棵二叉树中有30个叶子结点,仅有一个孩子的结点有20个,则该二叉树共有() 个结点

n0为叶子结点,n1为度为1的结点,n2为度为2的结点,n为总结点;则:n=n0+n1+n2.
已知n0=30,n1=20.二叉树中度为2的结点数目=叶子结点数目-1,所以n2=n0-1=29.
n=30+20+29=79.
所以总节点数为79


一棵有124个叶节点的完全二叉树,最多有( )个节点。

n0 = n2 + 1,于是度为2的结点个数123个
完全二叉树中度为1结点个数最多1个
因此该完全二叉树中结点最多有123 + 1 + 124 = 248个


已知一棵完全二叉树的第 6 层(设根为第 1 层)有 8 个叶结点,则完全二叉树的结点个数最多是 (          )。答案:111

如果第六层是满的话,那么第6层将会有32个节点,题目说只有8个叶节点,那只有两种情况:
1.6层只有8个节点,都是叶节点
2.6层节点满了,但有8个节点没有子节点,只能作为叶节点。
由于题目求更多:所以考虑第2钟情况:
这时候 前6层节点数为32+16+…+1 =63
第7层节点数:(32-8)*2=48 ——第6层节点数共32个,减去8个叶节点数,每个再带有两个子节点,相加——111