数据结构习题(第六章)

  • 格式:doc
  • 大小:33.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构习题(第六章)

一、单向选择题

1、关于二叉树,下列说法正确的是()

A、二叉树的度都为2

B、二叉树的度可以小于2

C、每一个结点的度都为2

D、至少有一个结点的度为2

2、设深度为h(h>0)的二叉树中只有度为0和度为2的结点,则此二叉树所含的结点总数至少为()。

A、2h

B、2h-1

C、2h+1

D、h+1

3、在树中,若结点A有4个兄弟,而且B是A的双亲,则B 的度为()。

A、3

B、4

C、5

D、6

4、若一棵完全二叉树中某结点无左孩子,则该结点一定是()。

A、度为1的结点

B、度为2的结点

C、分支结点

D、叶子结点

5、深度为k的完全二叉树至多有()个结点,至少有()个结点。

A、2k-1-1

B、2k-1

C、2k-1

D、2k

6、前序序列为ABC的不同二叉树有()不同形态。

A、3

B、4

C、5

D、6

7、若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其后序序列为

(),层次编码序列为()。

A、BCAGFED

B、DAEBCFG

C、ABCDEFG

D、BCAEFGD

8、遍历一棵具有n个结点的二叉树,在前序序列、中序序列和后序序列中所有叶子的相对次序()。

A、都不相同

B、完全相同

C、前序与中序不同

D、中序与后序不同

9、在由4棵树组成的森林中,第一、第二、第三和第四棵树的结点个数分别为30,10,20,5。当把森林转换成二叉树后,对应的二叉树中,根结点左子树的结点个数为(B ),根结点右子树的结点个数为()。

A、20

B、29

C、30

D、35

10、具有n个结点(n>1)的二叉树的前序序列和后序序列正好相反,则该二叉树除叶子结点外每个结点()。

A、仅有左孩子

B、仅有右孩子

C、仅有一个孩子

D、都有左右孩子。

11、将一棵树转换成二叉树,树的前根序列与其对应的二叉树的(A )相等;树的后根序列与其对应的二叉树的()相等。

A、前序序列

B、中序序列

C、后序序列

D、层次序列

12、二叉树在线索化以后,仍不能有效解决的问题是()。

A、前序线索树中求前序直接后继结点

B、中序线索树中求中序直接前驱结点

C、中序线索树中求中序后继结点

D、后序线索树中求后序直接后继结点

13、一棵具有124个叶子结点的完全二叉树,最多有()个结点。

A、247

B、248

C、249

D、250

二、填空题

1、若一棵树的广义表表示为A(B(E,F),C(H,I,J,K),L),D(M(N)))。则该树的度为(),树的深度为(),树中叶子结点个数为()。

2、若度为4的树T中度为1、2、

3、4的结点个数分别为

4、3、2、2,则T中叶子结点

的个数为()个。

3、一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数为()。

4、深度为k(k>0)的二叉树至多有()个结点,第i层上至多有()个结点。

5、已知二叉树有52个叶子结点,度为1的结点个数为30,则总结点个数为()。

6、已知二叉树中有30个叶子结点,则二叉树的总结点个数至少是()。

7、高度为6的完全二叉树至少有( )个结点。

8、一棵含有68个结点的完全二叉树,它的高度是()。

9、已知一棵完全二叉树的第6层上有6个结点(根结点的层数为1),则总的结点个数是(),其中叶子结点个数是()。

10、已知完全二叉树第6层上有10个叶子结点,则这棵二叉树的结点总数最多为(107 )。

11、一棵树转换成二叉树后,这棵二叉树的根结点一定没有()孩子,若树中有m个分支结点,则与其对应的二叉树中无右孩子的结点个数为()。

12、若用二叉链表表示具有n个结点的二叉树,则有()个空链域。

13、具有m个叶子结点的赫夫曼树,共有()个结点。

14、树的后根遍历序列与其对应的二叉树的(中序)遍历序列相同。

三、应用题

1、已知二叉树按照层次遍历(由树根开始从上而下,每一层自左而右)序列为

ABCDEFGHIJK,中序遍历序列是DBGEHJACIKF。请构造一棵二叉树。

2、已知二叉树的中序遍历序列是ACBDGHFE,后序遍历序列是ABDCFHEG,请构造一

棵二叉树。

3、已知二叉树的前序、中序和后序遍历序列如下,请填写*处的字母。

(1)前序遍历序列:*BC***G*

(2)中序遍历序列:CB*EAGH*

(3)后序遍历序列:*EDB**FA

4、对于给定的一组权值{3,5,6,7,9},请构造相应的哈夫曼树,并计算其加权路径长度。

四、算法设计题

1、设二叉树以二叉链表为数据结构,请编写一个求二叉树叶子结点个数的算法。

提示:从根结点开始,若结点的左、右孩子均为空,则计数器加1,否则,依次遍历其左子树和右子树。

2、以二叉链表为数据结构,请编写计算二叉树深度的算法。

提示:计算二叉树深度的递归计算模型为:

0 当t=NULL

depth(t)=

max{depth(t->lchild), depth(t->rchild)}+1 当t!=NULL

3、设二叉树以二叉链表为数据结构,请编写一个算法,复制这棵二叉树。

提示:若二叉树不空,则申请一个结点空间,复制根结点数据,再分别递归复制其左链和右链。