深圳大学 数据结构 树作业

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

数据结构作业二(第5-6章:树与二叉树,数组和广义表)要求:请在2017年11月9日机房交,迟交适当减分。

一、单选题:(每题2分,共12分)

1、假设在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为______个。

A.15

B.16

C.17

D.47

2、在一棵二叉树上第4层的结点数最多为______。

A.2

B.4

C.6

D.8

3、任何一棵二叉树的叶子结点在先序中序和后序遍历序列中的相对次序___。

A.不发生改变

B.发生改变

C.不能确定

D.以上都不对

4、根据先序序列A B D C和中序序列DB A C确定对应的二叉树,该二叉树____。

A.是完全二叉树

B.不是完全二叉树

C.是满二叉树

D.不是满二叉树

5、设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为N1、N2 和N3。与森林F对应的二叉树根结点的右子树上的结点个数是_______。

A.N1

B.N1+N2

C.N2

D. N2+N3

6.一个广义表的表头总是一个_______。

A.广义表

B. 元素

C. 空表

D.元素或广义表

一、简答题:(每空2分,共30分)

1.对于一棵具有n个结点的树,该树中所有结点的度数之和为。

2.对于一棵二叉树,若一个结点的编号为i,若它的左孩子结点存在,右孩子结点存在,双亲结点存在,则编号分别为:。

3.设T是一棵二叉树,除叶子结点外,其它结点的度数皆为2,若T中有6个叶结点,则T树的最大深度和最小可能深度分别

为。

4.设给定权值总数有n个,其哈夫曼树的结点总数

为:。

5.若一棵完全二叉树具有35个结点,该树的深度为。

6.在一棵二叉树的二叉链表中,空指针域数是非空指针域数:。

7.由3个结点可以构造出种不同形态的二叉树,其中树高为3的二叉树有个。

8.线索二叉树中的线索指。

9.在哈夫曼编码中,若编码长度只允许小于或等于4,则除了已知两个字符编码为0和10外,还可以最多对个字符编码。

10.广义表A=((x,(a,B)),(x,(a,B),y)),则运算

h e a d(h e a d(t a i l(A)))的结果为。

11.若二维数组A[9][10],从首地址L O C(a00)开始,按行优先顺序存储,每个元素占4个字节,则元素a[8][5]的地址是。

12.数组的存储结构采用存储方式;对矩阵压缩是为

了。

13.树的后序遍历等价于该树对应二叉树的。

二、应用题(共58分)

1.(15分)若二叉树的先序和中序遍历结果分别是a, b, d, e, c, f, g, h和d, e, b, a, f, c, h, g,请画出该树,求其后序遍历结果。

2.(15分)假设一棵树的先根遍历结果是R A D E K B F C,后根遍历

结果是E D K A F B C R。

a)画出该树的示意图。

b)将该树转换为二叉树。

c)假设转换后的二叉树用数组顺序存储,画出数组的存储状

态(用#表示空子树)。

01234567890

A)请画出该树.

B)求二叉树的先序,中序,后根遍历结果.

C)并将此二叉树还原成森林

4.(15分)有n堆石子,a i(1≤i≤n)为第i堆石子个数。将n堆石子合并成一堆,规定每次可选择任意2堆移出合并,每次合并的分值为新堆的石子数。若干步后,石子被合并为一堆,得分为每次合并的分值之和。n堆石子合并为一堆有多种合并方法,其得分可能不同。用最优二叉树的知识设计算法将石子数分别为10、20、30、40、24、15的6堆石子合并为一堆,使其得

分最小。给出树的每一步增长过程(要求左子树的权值小于、等于右子树的权值),给出石子合并过程及最小得分。

相关文档
最新文档