数据结构 严蔚敏 期末复习题

合集下载

数据结构答案(严蔚敏版)

数据结构答案(严蔚敏版)

InitQueue(Q);
// 置空的辅助队列 Q
if (T) EnQueue(Q, T); // 根结点入队列
while (!QueueEmpty(Q)) {
DeQueue(Q, p); // 队头元素出队并置为 p
Visit(p);
if (p->Lchild)
EnQueue(Q, p->Lchild); // 左子树根入队列
Void exchg_tree(BiTree BT)
{if (BT!=null)
/*非空*/
{exchg_tree(BT->lchild); /*交换左子树所有结点指针*/
exchg_tree(BT->rchild); /*交换右子树所有结点指针*/
p=BT->lchild;
/*交换根结点左右指针*/
1
9.左边是前驱右边是后继
六、算法设计题 1.解:思路:输出叶子结点比较简单,用任何一种遍历递归算法,凡是左右指针均空者,则为叶子,将其打印出来。 法一:核心部分为: LeafCount (BiTree T) /*中序遍历 递归函数*/ {if(T!=NULL) {if((T ->lchild==NULL)&&( T ->rchild==NULL)){sum++; printf("%d\n", T ->data);}
递归程序执行完毕之后才能出栈,这样才能实现逆序。
7. 解:方案 1;哈夫曼编码先将概率放大 100 倍,以方便构造哈夫曼树。
w={7,19,2,6,32,3,21,10},按哈夫曼规则:【[(2,3),6], (7,10)】, ……19, 21, 32

数据结构第2版习题答案—严蔚敏

数据结构第2版习题答案—严蔚敏

)。

第2章线性表1 .选择题(1)顺序表中 第一个 元素的存储 地址是100,每个元素的 长度为2,则第5个元素的 地址是( )。

A . 110 答案:B 解释:顺序表中的数据连续存储,所以第D . 120 5个元素的地址为: 100+2*4=108。

(3)向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移 动的元素个数为( )。

C . 63 A . 8 B . 答案:B 解释:平均要移动的元素个数为: (4) 链接存储的存储结构所占存储空间(n/2。

)。

A .分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B .只有一部分,存放结点值C .只有一部分,存储表示结点间关系的指针D .分两部分,一部分存放结点值,另一部分存放结点所占单元数答案:A(5) 线性表若采用链式存储结构时,要求内存中可用存储单元的地址(A .必须是连续的C . 一定是不连续的答案:D(6) 线性表1在( B •部分地址必须是连续的D •连续或不连续都可以)情况下适用于使用链式结构实现。

B.需不断对L 进行删除插入 D.L 中结点结构复杂A .需经常修改L 中的结点值C . L中含有大量的结点答案:B解释:链表最大的优点在于插入和删除时不需要移动数据,直接修改指针即可。

(7) 单链表的存储密度( )。

A .大于1 B .等于1答案:C 解释:存储密度是指一个结点数据本身所占的存储空间和整个结点所占的存储空间之比,假设单链表一个结点本身所占的空间为 D ,指针域所占的空间为 N ,则存储密度为:D/(D+N),—定小于 1。

(8) 将两个各有 n 个元素的有序表归并成一个有序表,其最少的比较次数是(C •小于1D •不能确定 B . 2n-1 C . 2n D . n-1C . 100答案:A解释:当第一个有序表中所有的元素都小于(或大于)第二个表中的元素,只需 要用第二个表中的第一个元素依次与第一个表的元素比较,总计比较n 次。

数据结构(C语言版)清华大学出版社 严蔚敏 吴伟民

数据结构(C语言版)清华大学出版社 严蔚敏 吴伟民

吉首大学题库一、一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下()方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3. 3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。

数据结构复习参考题与参考答案

数据结构复习参考题与参考答案

第一章概论自测题答案一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。

2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。

3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。

4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。

5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。

6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。

7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。

8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。

9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。

10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。

11. 一个算法的效率可分为时间效率和空间效率。

二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系 B)多对多关系C)多对一关系 D)一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储 B) 物理C) 逻辑 D) 物理和存储(C)3. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性(A)4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性(C )5. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6. 计算机算法必须具备输入、输出和等5个特性。

数据结构习题及答案——严蔚敏_课后习题答案

数据结构习题及答案——严蔚敏_课后习题答案

第一章绪论选择题1.组成数据的基本单位是A数据项B数据类型C数据元素D数据变量2.数据结构是研究数据的以及它们之间的相互关系。

A理想结构物理结构B理想结构抽象结构C物理结构逻辑结构D抽象结构逻辑结构 3.在数据结构中从逻辑上可以把数据结构分成A动态结构和静态结构B紧凑结构和非紧凑结构C线性结构和非线性结构D内部结构和外部结构 4.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。

①A数据元素B计算方法C逻辑存储D数据映像②A结构B关系C运算D算法5.算法分析的目的是。

A 找出数据结构的合理性B研究算法中的输入和输出的关系C分析算法的效率以求改进D分析算法的易懂性和文档性6.计算机算法指的是①它必须具备输入、输出和②等5个特性。

①A计算方法B排序方法C解决问题的有限运算序列D调度方法②A可执行性、可移植性和可扩充性B可行性、确定性和有穷性C确定性、有穷性和稳定性D易读性、稳定性和安全性二、判断题1.数据的机内表示称为数据的存储结构。

2.算法就是程序。

3.数据元素是数据的最小单位。

4.算法的五个特性为有穷性、输入、输出、完成性和确定性。

5.算法的时间复杂度取决于问题的规模和待处理数据的初态。

三、填空题 1.数据逻辑结构包括________、________、_________ 和_________四种类型其中树形结构和图形结构合称为_____。

2.在线性结构中第一个结点____前驱结点其余每个结点有且只有______个前驱结点最后一个结点______后续结点其余每个结点有且只有_______个后续结点。

3.在树形结构中树根结点没有_______结点其余每个结点有且只有_______个前驱结点叶子结点没有________结点其余每个结点的后续结点可以_________。

4.在图形结构中每个结点的前驱结点数和后续结点数可以_________。

5.线性结构中元素之间存在________关系树形结构中元素之间存在______关系图形结构中元素之间存在_______关系。

严蔚敏数据结构复习整理完整版

严蔚敏数据结构复习整理完整版

1.复杂性分析对各种操作的时间复杂性的分析。

主要是链表,树,排序等简单一些的分析。

分析的时候,从简单的入手,学会方法。

后续的各种豆可能让你分析时间复杂度。

线性链表(顺序表和单链表)链表循环链表双向链表2.线性结构队列(循环队列)栈链表主要操作:找某一个元素,插入一个(在哪个位置增加),删除一个(在哪个位置删除)。

栈:查找,插入(位置固定),删除(位置固定)队列:查找,插入(位置固定),删除(位置固定)顺序表(可以视为一个数组)单链表:(删除)(插入)倒置:(查找)循环链表双向链表栈:(插入删除查找)队列(插入删除查找)循环队列的实现,并不是像上面的图那样,实现了一个循环的样子。

3.二叉树基本概念二叉树是每个节点最多有两个子树的有序树。

二叉树常被用于实现二叉查找树和二叉堆。

值得注意的是,二叉树不是树的特殊情形。

二叉树是每个结点最多有两个子树的有序树。

通常根的子树被称作“左子树”(left subtree)和“右子树”(right subtree)。

二叉树常被用作二叉查找树和二叉堆或是二叉排序树。

二叉树的每个结点至多只有二棵子树(不存在出度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。

二叉树不是树的一种特殊情形,尽管其与树有许多相似之处,但树和二叉树有两个主要差别:1. 树中结点的最大度数没有限制,而二叉树结点的最大度数为2;2。

树的结点无左、右之分,而二叉树的结点有左、右之分。

二叉树是递归定义的,其结点有左右子树之分,逻辑上二叉树有五种基本形态:(1)空二叉树——如图(a);(2)只有一个根结点的二叉树——如图(b);(3)只有左子树——如图(c);(4)只有右子树-—如图(d);(5)完全二叉树-—如图(e)注意:尽管二叉树与树有许多相似之处,但二叉树不是树的特殊情形性质(1)在非空二叉树中,第i层的结点总数不超过, i〉=1;(2)深度为h的二叉树最多有2^h—1个结点(h>=1),最少有h个结点;(3)对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;(4)具有n个结点的完全二叉树的深度为(5)有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系: 若I为结点编号则如果I>1,则其父结点的编号为I/2;如果2*I<=N,则其左儿子(即左子树的根结点)的编号为2*I;若2*I>N,则无左儿子;如果2*I+1〈=N,则其右儿子的结点编号为2*I+1;若2*I+1〉N,则无右儿子。

数据结构-(严蔚敏C语言版)-学习、复习提纲

数据结构-(严蔚敏C语言版)-学习、复习提纲

数据结构-(严蔚敏C语⾔版)-学习、复习提纲期末复习第⼀章绪论复习1、计算机算法必须具备输⼊、输出、可⾏性、确定性、有穷性5个特性。

2、算法分析的两个主要⽅⾯是空间复杂度和时间复杂度。

3、数据元素是数据的基本单位。

数据结算法数据:计算机处理的信息总称数据项:最⼩单位数据元素:最基本单概念:数据元素之间的关系线性结构:⼀对⼀⾮线性结构树:⼀对多图:多对多顺序存储结构链表存储结构算法描述:指令的有限有有穷性确定性可⾏性时间复杂4、数据项是数据的最⼩单位。

5、数据结构是带结构的数据元素的集合。

6、数据的存储结构包括顺序、链接、散列和索引四种基本类型。

第⼆章线性表复习1、在双链表中,每个结点有两个指针域,包括⼀个指向前驱结点的指针、⼀个指向后继结点的指针2、线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元定义节省空间随机存取插⼊3、线性表采⽤链式存储,便于进⾏插⼊和删除操作4、线性表采⽤顺序存储和链式存储优缺点⽐较。

5、简单算法第三章栈和队列复习1、栈和队列的异同点。

2、栈和队列的基本运算 3、出栈和出队 4、基本运算存储结栈的概念:在⼀端操作的线性运算算栈的特点:先进后出初始化进栈顺序队队列概念:在两端操作的线性假溢出链队列队列特点:先进先出基本运顺序:队空:队满:(1)队初始化判空进队第四章串复习第五章数组和⼴义表复习定义:由n(≥1)个字符组成的有限序列紧缩格式⾮紧缩格式以字节为单位的存储基本运(s) 串长度 (s12) 联接 (s12) ⽐较模式匹失败链接值匹配算法单字符链表串串变量的存储映像:串名、串值对应关系表顺序存储压缩存储⾏优先顺序存放列优先顺序存放稀疏矩应⽤表达式⼴义表定义:n(≥0)个元素的有限序表头:(A)= a 1 概念:长度、深度、原⼦、⼦表尾:(A)=(a23,…)表结特殊矩对称矩阵三⾓矩阵三元组存储:三元组原⼦结第六章树复习1、三个结点可以组成2种不同形态的树。

2、⼀个稀疏矩阵*n 采⽤三元组形式表⽰,若完成了其的转置运算要经过哪⼏步:⼆叉树概定义:递归定义,不为空双亲、孩⼦、叶⼦、兄弟、存储⽅顺序:满、完全⼆⼆叉树已知先根、中根序列画树;先根线索线索线索树的画法树、森林与⼆叉树的相互树、森⼆叉排树的应哈夫曼左中哈夫曼树的矩阵的⾏、列数值互换、矩阵元素所在⾏列值互换、元素在矩阵中排列的位置)重新排列3、若⼆叉树中每⼀层结点的个数都达到了最⼤,则称为⼀棵满⼆叉树。

(严蔚敏)数据结构总复习习题与答案(2)

(严蔚敏)数据结构总复习习题与答案(2)

( C ) 4.按照二叉树的定义,具有3个结点的二叉树 有几种形态。 A.3 B.4 C.5 D.6
( B ) 5.二叉树若采用二叉链表结构表示,则对于n 个结点的二叉树一定有。 A. 2n个指针域,其中n个指针为NULL
B. 2n个指针域,其中n+1个指针为NULL C. 2n-1个指针域,其中n个指针为NULL D. 2n-1个指针域,其中n+1个指针为NULL
5
5
6
4
8 14
0
10 16 7
3
1
2
6
顶点: 1 路径长度: 16
2 10
3 14
4 22
5 21
四、算法阅读 已知二叉树以二叉链表作为存储结构,阅读下列算 法,说出它的功能。其中,k为全局变量,初值为 0; 首次调用unknown函数时,i 初值为 0。 void unknown( BiTree t, int i ) { if ( t !=NULL ) { i++ ; //访问根结点 if ( k<i ) k = i ; unknown( t->lchild, i ); //先序遍历左子树 unknown( t->rchild, i ); //先序遍历右子树 } } // unknown
1 2 3
拓扑序列:
123654 132654
5 4
6
136254
8.已知一个有向网的顶点集V和边集G分别为: V ={ 0,l,2,3,4,5 }; G ={ <0,1>16,<0,2>10,<0,3>14, <1,2>6, <1,5>5, <2,3>7, <3,4>8, <4,5>6 } 根据迪克斯特拉(Dijkstra)算法求出从顶点0 到其余各顶点的最短路径,在下面填写对应 的路径长度。 顶点: 1 2 3 4 5 路径长度:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.是非题(共分,每题分)1. 数据结构可用三元式表示(D,S,P)。

其中:D是数据对象,S是D上的关系,P是对D的基本操作集。

(f)2 简单地说,数据结构是带有结构的数据元素的集合。

(t)3 判断带头结点的非空循环单链表(头指针为L)中指针p所指结点是最后一个元素结点的条件是:p->next==L。

(t)4线性表的链式存储结构具有可直接存取表中任一元素的优点。

(f)5 线性表的顺序存储结构优于链式存储结构。

(f)6. 在单链表P指针所指结点之后插入S结点的操作是:P->next= S ; S-> next = P->next;。

(f)7 对于插入、删除而言,线性表的链式存储优于顺序存储。

(t)8. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

(f)9. 栈和队列是操作上受限制的线性表。

(t)10. 栈和队列是与线性表完全不同的一种数据结构。

(f)11. 队列是一种操作受限的线性表,凡对数据元素的操作仅限一端进行。

(f)12. 栈和队列也是线性表。

如果需要,可对它们中的任一元素进行操作。

(f)13. 栈是限定仅在表头进行插入和表尾进行删除运算的线性表。

(f)14. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。

(f)15 二叉树是一棵结点的度最大为二的树。

(f)16 赫夫曼树中结点个数一定是奇数。

(t)17 在二叉树的中序遍历序列中,任意一个结点均处在其左孩子结点的后面。

(t)18 假设B是一棵树,B′是对应的二叉树。

则B的后根遍历相当于B′的后序遍历。

(f)19. 通常,二叉树的第i层上有2i-1个结点。

(f)20. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。

(t)21 二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。

(t)22 由树结点的先根序列和后根序列可以唯一地确定一棵树。

(t)23 邻接多重表可以用以表示无向图,也可用以表示有向图。

(f)24 可从任意有向图中得到关于所有顶点的拓扑次序。

(f)25 有向图的十字链表是将邻接表和逆邻接表合二为一的链表表示形式。

(t)26 关键路径是AOE网中源点到汇点的最短路径。

(f)27 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。

(f)28 一个无向图的连通分量是其极大的连通子图。

(t)29 十字链表可以表示无向图,也可用以表示有向图。

(f)30 邻接表可以表示有向图,也可以表示无向图。

(t )31. 二叉排序树的平均查找长度为O( logn)。

(t)32. 二叉排序树的最大查找长度与(log n)同阶。

(f)33 选用好的hash函数可避免冲突。

(f)34 折半查找不适用于有序链表的查找。

(t)35. 对于目前所知的排序方法,快速排序具有最好的平均性能。

(t)36 对于任何待排序序列来说,快速排序均快于冒泡排序。

(f)37 在最坏情况下,堆排序的时间性能是O(nlogn),比快速排序好(t)38 快速排序具有最好的平均时间性能,它在任何时候的时间复杂度都是O(n log n)。

(f)39. 字符串是数据对象特定的线性表。

(t)40. 空串与空格串是相同的。

(f)41. 对于一棵m阶的B-树.树中每个结点至多有m 个关键字.除根之外的所有非终端结点至少有┌m/2┐个关键字。

(f)42. 当二叉排序树是一棵平衡二叉树时,其平均查找长度为O(log2n)。

(t)43. 广义表的表头和表尾都是广义表。

(f)44 二维数组是其数据元素为线性表的线性表。

(t)45.弗洛伊德算法的基本思想是依最短路径长度递增的次序求得各条路径。

(f)选择题。

1. 从逻辑上可以把数据结构分成( c )。

A. 动态结构和静态结构B. 顺序组织和链接组织C. 线性结构和非线性结构D. 基本类型和组合类型2. 线性表L在( b )情况下适于使用链表结构实现。

A. 不需修改L的结构B. 需不断对L进行删除、插入C. 需经常修改L中结点值D. L中含有大量结点3. 带头结点的单链表L为空的判断条件是 b 。

带头结点的循环链表L为空的判断条件是 c 。

A. L==nullB. L->next==nullC. L->next==LD. L!=null4. 若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至表尾。

以下为据此策略编写的算法,请选择适当的内容,完成此功能。

顺序表的存储结构为:typedef struct{ElemType *elem; //数据元素存储空间,0号单元作监视哨int length; //表长度}SSTable;int search_seq(SSTable ST,KeyType key){ //在顺序表ST中顺序查找关键字等于key的数据元素。

//若找到,则将该元素与其后继交换位置,并返回其在表中的位置,否则为0。

ST.elem[0].key=key;i=ST.length;while(ST.elem[i].key!=key) f ;if( g ){ST.elem[i]←→ST.elem[i+1];e ;}return i;}a. i>0b. i>=0c. i<ST.lengthd. i<=ST.lengthe. i++f. i--g. a和c同时满足h. b和d同时满足5. 递归程序可借助于( c )转化为非递归程序。

a.线性表b.队列c: 栈 d.数组6. 在下列数据结构中( c )具有先进先出(FIFO)特性,( b )具有先进后出(FILO)特性。

a.线性表b.栈c.队列d.广义表7. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到( e ) 的序列。

a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,18. 在计算递归函数时,如不用递归过程,应借助于( b ) 这种数据结构。

a. 线性表b. 栈c. 队列d. 双向队列9. 若带头结点的链表只设尾结点指针。

下列选择中(c )最适用于队列。

a.单链表b.双向链表c.循环单链表d.双向循环链表10. 栈和队列的一个共同点是( c )。

a. 都是先进先出b. 都是先进后出c. 只允许在端点处插入和删除元素d. 没有共同点11. 循环队列用数组A[0..m-1]存放其元素值,设头尾指针分别为front和rear,则当前队列中的元素个数是( c )。

a. rear-front-1b. rear-front+1c. (rear-front+m)%md. rear-front12. 如下关于串的陈述中,正确的是( a, c )。

a. 串是数据元素类型特殊的线性表b. 串中的元素是字母c. 串中若干个元素构成的子序列称为子串d. 空串即为空格串13. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’)的结果是( b ) 。

a: ‘database’ b: ‘data-base’ c: ‘bas’ d: ‘data-basucture’14. 对广义表A=((a,(b)),(c,()),d)执行操作gettail(gethead(gettail(A)))的结果是:( b )。

a:()b: (())c: d d: (d)15. 假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7, 19, 22, 6,32, 14。

若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是(g ),频率为32的字符编码是( c )。

a: 00 b: 01 c: 10 d: 11e: 011 f: 110 g: 1110 h:111116. 对二叉排序树( c )可得到有序序列。

a:按层遍历b:前序遍历c:中序遍历d:后序遍历17. 设一棵二叉树BT的存储结构如下:1 2 3 4 5 6 7 8lchild 2 3 0 0 6 0 0 0data A B C D E F G Hrchild 0 5 4 0 8 7 0 0其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。

则该二叉树的高度为( d );第3层有( a )个结点(根结点为第1层)。

a.2 b. 3 c. 4 d. 518. 先序遍历图示二叉树可得到( a )的序列。

a) A B H D E F I C Gb) H B E D F I A C Gc)H E I F D B G C A(A)/\(B) (C)/\\(H) (D) (G)/\(E) (F)\(I)19. 在有n个结点的二叉树的二叉链表表示中,空指针数( b )。

a.不定b.n+1c.nd.n-120. 若某二叉树有20个叶子结点,有20个结点仅有一个孩子,则该二叉树的总结点数是( c )。

a.40 b. 55 c. 59 d. 6121. 已知某二叉树的先序遍历次序为abcdefg中序遍历次序为badcgfe,则该二叉树的后序遍历次序为( c )。

层次遍历次序为( a )。

a: abcdefg b: cdebgfa c: bdgfeca d: edcgfba.22. 图示的三棵二叉树中( c)为最优二叉树。

A) B) C)c a2 7a b c d d b7 5 2 4 4 5a b c d7 5 2 423. 已知某二叉树的后序遍历和中序遍历次序分别为DBFGECA和BDACFEG。

则其先序遍历次序为( b ),层次遍历次序为(a )。

a. abcdefgb. abdcefgc. abcdfegd. abcdegf24. 已知某树的先根遍历次序为abcdefg后根遍历次序为cdebgfa。

若将该树转换为二叉树,其后序遍历次序为( d )。

a. abcdefgb. cdebgfac. cdegbfad. edcgfba25. 设x和y是二叉树中的任意两个结点,若在先根序列中x在y之前,而在后根序列中x在y之后,则x和y的关系是( c )。

a. x是y的左兄弟b. x是y的右兄弟c. x是y的祖先d. x是y的子孙26. 用三叉链表作二叉树的存储结构,当二叉树中有n个结点时,有( d )个空指针。

a. n-1b. nc. n+1d. n+227. 对一棵完全二叉树进行层序编号。

则编号为n的结点若存在右孩子,其位序是( d )。

编号为n的结点若存在双亲,其位置是( a )。

相关文档
最新文档