数据结构习题课(2012)

合集下载

数据结构课后习题及解析第二章

数据结构课后习题及解析第二章
利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。
例如m的初值为20;n=7,7个人的密码依次是:3,1,7,2,4,8,4,出列的顺序为6,1,4,7,2,3,5。
第二章答案
约瑟夫环问题
约瑟夫问题的一种描述为:编号1,2,…,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任选一个报数上限值m,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。试设计一个程序,求出出列顺序。利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。
9.假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表某个结点的指针,试编写算法在链表中删除指针s所指结点的前趋结点。
10.已知有单链表表示的线性表中含有三类字符的数据元素(如字母字符、数字字符和其它字符),试编写算法来构造三个以循环链表表示的线性表,使每个表中只含同一类的字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。
r=p;
}
}
r->next=L->next;
printf("请输入第一个报数上限值m(m>0):");
scanf("%d",&m);
printf("*****************************************\n");
printf("出列的顺序为:\n");
q=L;
p=L->next;
7.试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。

【华南理工大学2012年考研专业课真题】计算机专业综合(数据结构、操作系统)2012

【华南理工大学2012年考研专业课真题】计算机专业综合(数据结构、操作系统)2012

【华南理⼯⼤学2012年考研专业课真题】计算机专业综合(数据结构、操作系统)2012831华南理⼯⼤学2012年攻读硕⼠学位研究⽣⼊学考试试卷(请在答题纸上做答,试卷上做答⽆效,试后本卷必须与答题纸⼀同交回)科⽬名称:计算机专业综合(数据结构、操作系统)适⽤专业:计算机技术(专硕)本卷满分:150分共 4 页数据结构部分⼀、选择题(每⼩题2分,共20分)1. 设数组a[1..10,5..15]的元素以⾏为主序存放,每个元素占⽤4个存储单元,则数组元素a[i,j] (1≤i≤10,5≤j≤15)的地址计算公式为______________。

A.a-204+2i+j B. a-204+40i+4j C.a-84+i+j D. a-64+44i+4j2. 给定⼀个有n个元素的线性表。

若采⽤顺序存储结构,则在等概率前提下,向其插⼊⼀个元素需要移动的元素个数平均为______________。

A.n+1 B. n/2 C.(n+1)/2 D. n3. 采⽤邻接表表⽰⼀有向图,若图中某顶点的⼊度和出度分别为d1和d2,则该顶点对应的单链表的节点数为______________。

A.d1 B. d2 C.d1-d2 D. d1+d24. 设有100个节点,⽤⼆分法查找时,最⼤⽐较次数是______________。

A.25 B. 50 C.10 D. 75. 若长度为n的线性表采⽤顺序存数结构,在其第i个位置插⼊⼀个新元素算法的时间复杂度是______________。

A.O(log2n) B.O(1) C.O(n) D. O (n2)6. ⼀棵124个叶结点的完全⼆叉树最多有__________个结点。

A.247 B. 248 C.249 D. 2507. 将上万个⼀组⽆序并且不相等的正整数序列,存放于顺序存储结构中,采⽤__________⽅法能够最快地查找出其中最⼤的正整数。

A.快速排序 B. 插⼊排序C.选择排序 D. 归并排序8. 前序遍历序列和中序遍历序列相同的⼆叉树为__________。

【华南理工大学2012年考研专业课真题】数据结构2012

【华南理工大学2012年考研专业课真题】数据结构2012

875华南理工大学2012年攻读硕士学位研究生入学考试试卷(请在答题纸上做答,试卷上做答无效,试后本卷必须与答题纸一同交回)科目名称:数据结构适用专业:软件工程(专硕)本卷满分:150分共 3 页一、填空题(30分)1.在2n2,30 log n,5n,2n中,当n变大时所对应的增长率最有效率的算法是________。

2.数据结构中评价算法的两个重要指标是_______和_______。

3.设三位数组a【4】【5】【6】(下标从0开始)每个元素长度为2,则a【2】【3】【4】的地址是__________(设首元素地址为1000,数据以行优先存储)。

4.在双向链表结构中,若要求在p指针所指借点之前插入指针为s所指的借点,需执行下列语句_________;s^.prior:=p^.prior;_________;__________。

5.设有一个空栈,栈顶指针为1000H(十六进制),现有输入序列为1,2,3,4,5,经过PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH之后输出序列为________,栈顶指针的值是_______,设栈为顺序栈,每个元素占四个字节。

6.快速排序算法的平均情形的算法时间复杂度是________。

7.设n0为哈夫曼输的叶子节点数目,则该哈夫曼树共有_______个节点。

8.一棵高度为5的完全二叉树,最少有____个结点。

9.3个节点的二叉树有____种不同形状。

10.具有n个顶点的有向连通简单平面图最少有_____条边,最多有_________条边。

二、判断题(20分)1.快速排序是一种交换排序。

2.抽象数据类型与计算机内部表示和实现无关。

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

4.数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。

5.一个带权的无向连通图的最小生成树不一定唯一。

6.由二叉树的前序序列和中序序列可以唯一确定一棵二叉树。

数据结构第二章习题课

数据结构第二章习题课

数据结构第二章习题课1、试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。

答:开始结点是指链表中的第一个结点,也就是没有直接前趋的那个结点。

链表的头指针是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。

头结点是我们人为地在链表的开始结点之前附加的一个结点。

有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。

而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。

2、何时选用顺序表、何时选用链表作为线性表的存储结构为宜?答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑:1) 基于空间的考虑。

当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。

2) 基于时间的考虑。

若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等操作时,宜采用链表做存储结构。

并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。

3、在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素?答:在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点,删除一个结点需平均移动(n-1)/2个结点。

具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。

i越接近n 则所需移动的结点数越少。

4、为什么在单循环链表中设置尾指针比设置头指针更好?答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear->next->next 和rear, 查找时间都是O(1)。

数据结构课后习题答案

数据结构课后习题答案

大学课程《数据结构》课后习题答案第 1 章绪论课后习题讲解1. 填空⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

【解答】数据元素⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。

【解答】数据项,数据元素【分析】数据结构指的是数据元素以及数据元素之间的关系。

⑶从逻辑关系上讲,数据结构主要分为()、()、()和()。

【解答】集合,线性结构,树结构,图结构⑷数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。

【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系⑸算法具有五个特性,分别是()、()、()、()、()。

【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性⑹算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。

【解答】自然语言,程序设计语言,流程图,伪代码,伪代码⑺在一般情况下,一个算法的时间复杂度是()的函数。

【解答】问题规模⑻设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。

【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。

A 线性结构B 非线性结构C 存储位置D 指针【解答】C,D【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。

⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。

则表示该遗产继承关系的最合适的数据结构应该是()。

2012年广东省数据结构习题集答案(C语言版严蔚敏)_图文试题及答案

2012年广东省数据结构习题集答案(C语言版严蔚敏)_图文试题及答案
D.{102,60。89,93,55,24}
44、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
45、一棵左子树为空的二叉树在前序线索化后,其空指针域个数为
A.0 B.1 C.2 D.不确定
13、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D.s->next = p;s->prior = p->prior;p->prior->next = s;p->prior = s
14、在数据结构中,从逻辑上可以把数据结构分为 C 。
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
39、下列选项中,其平均查找性能与基于二叉排序树的查找相当的是
A.二分查找 B.顺序查找 C.分块查找 D.索引顺序查找
40、以下说法正确的是 D 。
11、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k

数据结构课后习题及答案

数据结构课后习题及答案

填空题(10 * 1’ = 10’)一、概念题2.2.当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。

2.3.当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。

2.6.带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。

3.6.循环队列的引入,目的是为了克服假溢出。

4.2.长度为0的字符串称为空串。

4.5.组成串的数据元素只能是字符。

4.8.设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。

7.2.为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。

5.7.广义表的深度是广义表中括号的重数7.8.有向图G可拓扑排序的判别条件是有无回路。

7.9.若要求一个稠密图的最小生成树,最好用Prim算法求解。

8.8.直接定址法法构造的哈希函数肯定不会发生冲突。

9.2.排序算法所花费的时间,通常用在数据的比较和交换两大操作。

1.1.通常从正确性﹑可读性﹑健壮性﹑时空效率等几个方面评价算法的(包括程序)的质量。

1.2.对于给定的n元素,可以构造出的逻辑结构有集合关系﹑线性关系树形关系﹑图状关系四种。

1.3.存储结构主要有顺序存储﹑链式存储﹑索引存储﹑散列存储四种。

1.4.抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。

1.5.一个算法具有五大特性:有穷性﹑确定性﹑可行性,有零个或多个输入﹑有一个或多个输入。

2.8.在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s->prior= p->prior; s->next= p; p->prior- next= s; p->prior= s;。

2.9.在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作(如插入和删除)在各种情况下统一。

2012数据结构_习题及程序设计整理

2012数据结构_习题及程序设计整理

2012数据结构_习题及程序设计整理疯狂记忆力数据结构是计算机科学中非常重要的一个领域,它主要研究数据的组织、存储和管理方式。

在学习数据结构的过程中,习题和程序设计是提高理解和应用的重要手段。

下面将整理一些2012年的数据结构习题及程序设计内容,帮助读者巩固和深入理解这一领域的知识。

一、线性结构1. 线性表是数据结构中最基本的一种结构,它的特点是元素之间存在一对一的关系,先后次序唯一确定。

请写一个C语言程序,实现线性表的基本操作,包括插入、删除、查找等。

2. 栈是一种特殊的线性表,具有“先进后出”的特点。

设计一个栈,支持判断栈是否为空、入栈和出栈操作,并实现一个简单应用情境,例如操作系统任务的进出栈操作。

3. 队列也是一种特殊的线性表,具有“先进先出”的特点。

设计一个队列,支持判断队列是否为空、入队和出队操作,并实现一个简单应用情境,例如模拟排队等待的场景。

二、非线性结构1. 树是一种重要的非线性结构,它以分层的方式存储数据。

定义一个树的基本数据结构,包括节点的定义、插入节点、删除节点等操作。

2. 图是由节点和边组成的数据结构,用于表示多对多的关系。

请设计一个简单的图结构,实现图的初始化、添加节点、添加边以及遍历等基本操作。

三、查找与排序1. 二分查找是一种常见的查找算法,适用于有序数组。

请编写一个二分查找算法的Java程序,并验证其正确性。

2. 快速排序是一种常见的排序算法,通过分治法实现。

请实现一个快速排序算法的Python程序,并对随机生成的一组数据进行排序。

四、高级数据结构1. 堆是一种完全二叉树,主要用于实现高效的优先队列。

设计一个堆的数据结构,并实现堆排序算法。

2. 哈希表是一种以键值对存储数据的数据结构,通过哈希函数实现高效的数据查找。

请实现一个简单的哈希表,包括哈希函数的设计、数据的插入和查找等操作。

以上是一些2012年的数据结构习题及程序设计内容,涵盖线性结构、非线性结构、查找与排序以及高级数据结构等方面的内容。

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

复习重点1.数据结构的概念,逻辑结构、物理结构的概念及各自包含的内容2.算法的特性、设计要求,如何度量算法的时间效率。

3.线性表的顺序/链式存储结构的特点,插入、删除算法。

4.栈和队列的逻辑特性,顺序栈的入栈/出栈、循环队列的入队/出队算法。

5.以三元组顺序表存放的稀疏矩阵的转置算法。

6.二叉树的性质及其四种遍历算法。

7.森林与二叉树的相互转换。

8.WPL、前缀编码的概念,哈夫曼树的构造算法。

9.图的相关概念,邻接矩阵及邻接表的存储结构。

10.图的深度优先/广度优先遍历算法。

11.最小生成树的两种算法。

12.拓扑排序的意义和算法。

13.最短路径算法。

14.顺序表、有序表的查找算法。

15.二叉排序树的性质、插入/删除算法、平衡二叉树的性质、插入算法。

16.哈希表的相关概念,常用的冲突处理方法。

17.直接插入排序、希尔排序、快速排序、堆排序、归并排序的算法。

注意:1.上述每个知识点可能会以任何题型出现,复习的时候别把它们当做“简答题”来复习。

2.红色(下划线)标识的知识点或算法,只要求对给出的初始数据,能画出结果则可。

其他的算法则可能会出现在“算法题”中。

自测题第1章绪论一、判断1.顺序存储方式只能用于存储线性结构。

(错)2.顺序查找法适用于存储结构为顺序或链式存储的线性表。

(对)二、选择1.计算机算法必须具备输入、输出、( B )等5个特性。

A.可行性、可移植性和可扩展性B.可行性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、安全性和稳定性2.算法在发生非法操作时可以作出处理的特性称为(C )。

A.正确性B.易读性C.健壮性D.可靠性3.数据结构是一门研究非数值计算的程序设计问题中计算机的(A )以及它们之间的( B )和运算的学科。

A.操作对象B.计算方法C.逻辑存储D.数据映像A.结构B.关系C.运算D.算法4.在数据结构中,逻辑上数据结构可分为:(B )A.动态结构和静态结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.内部结构和外部结构5.数据结构主要研究数据的(D )A.逻辑结构B.存储结构C.逻辑结构和存储结构D.逻辑结构和存储结构及其运算的实现6.为了描述n个人之间的同学关系,可用(C )结构表示A.线性表B.树C.图D.队列7.下面的程序段违反了算法的(A )原则void sam(){ int n=2;while (!odd(n)) n+=2;printf(n);}A.有穷性B.确定性C.可行性D.健壮性三、问答1.什么是逻辑结构和物理结构?各自包含哪几种?2.线性结构和树型结构的特点分别是什么?3.简述顺序存储结构与链式存储结构在表示数据元素之间关系上的只要区别。

4.简述算法的5个特性。

第2章线性表一、选择1.线性表是具有n个(C )的有限序列A.表元素B.字符C.数据元素D.数据项E.信息项2.将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( A )A.nB.2n-1C.2nD.n-13.下述哪一条是顺序存储结构的优点?( A )A.物理上相邻的元素在逻辑上也相邻B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示4.下面关于线性表的叙述中,错误的是哪一个?(B)A.线性表采用顺序存储,必须占用一段连续的存储单元。

B.线性表采用顺序存储,便于进行插入和删除操作。

C.线性表采用链式存储,不必占用一片连续的存储单元。

D.线性表采用链式存储,便于进行插入和删除操作。

5.指针P所指的元素是双向循环链表L的尾元素的条件是(D )A.P=LB.P=NULLC.P->Link=LD.P->Rlink=L6.在一个单链表中删除P结点的后继结点的语句是( A )A.p->next=p->next->nextB.p=p->next;p->next=p->next->next;C.p->next=p->next;D.p=p->next->next;7.循环链表的主要优点是(D )A.不再需要头指针了B.已知某个结点的位置后,能很容易找到它的直接前驱结点C.在进行删除操作后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表二、问答1.在非空双向循环表中q所指的结点后面插入p所指的结点的语句是?2.循环队列为满和空时的条件。

3.若较频繁地对一个线性表进行插入和删除操作,该线性表宜采用何种存储结构?为什么?4.设单链表中结点的数据域为data,指针域为next,指针p为表中某一结点的地址,请写出在p结点之前插入一个s结点的C语言描述语句。

第3章栈和队列一、选择1.PUSH和POP命令常用于(C )操作A.队列B.数组C.栈D.记录2.判断一个表达式中左右括号是否匹配,采用( D )实现较为方便A.线性表的顺序存储B.队列C.线性表的链式存储D.栈3.用单链表表示的链式队列的对头在链表的( A )位置A.链头B.链尾C.链中4.设栈的输入序列是1,2,3,4,则( D )不可能是其出栈序列A.1,2,4,3B.2,1,3,4C.1,4,3,2D.4,3,1,2E.3,2,1,45.循环队列A[0..m-1]存放其元素,用front和rear分别表示队头和队尾,则循环队列满的条件是( A )A.(Q.rear+1)%m==Q.frontB.Q.rear==Q.front+1C.Q.rear+1==Q.frontD.Q.rear==Q.front6.一般情况下,将递归算法转换成等价的非递归算法应该设置( A )A.栈B.队列C.栈和队列D.数组二、判断1.栈和队列都是限制取点的线性结构。

(对)2.消除递归不一定需要使用栈。

(对)3.栈、先进先出队列、优先级队列、双端队列等都可以看作是一个容器类的派生类。

该容器代表限制存取位置的顺序存取结构。

(对)三、问答1.在操作序列push(1),push(2),pop,push(5),push(7),pop,push(6)之后,栈顶元素和栈底元素分别是什么?2.在操作序列Qinsert(1),Qinsert(2),Qdelete,Qinsert(5),Qinsert(7),Qdelete,Qinsert(9)之后,队头元素和队尾元素分别是什么?第5章数组一、选择1.设数组a[1..10,5..15]的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](1≤i≤10,5≤j≤15)的地址计算公式为( D )A.a-204+2i+jB.a-204+40i+4jC.a-84+i+jD.a-64+44i+4j2.对于二维数组A[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素A[3,4]相对于数组空间起始地址的偏移量分别是( D )和( A )A.12B.14C.16D.183.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1..298]中,A中元素A66,65(即元素下标)在B中的位置K为( B )A.198B.195C.1974.三对角线矩阵A[1..n][1..n]以行序为主顺序存储,其存储始址是B,每个元素占一个存储单元,则元素A[i][j]的存储起始地址为(D )(1≤i,j≤n)A.b+2*j+i-2B.b+2*i+j-2C.b+2*j+i-3D.b+2*i+j-3第6章树和二叉树一、判断1.将一棵树转化为二叉树后,根结点可能有右子树。

(错)2.高度为K的二叉树至多有2k-1个结点。

(错)3.Huffman树、平衡二叉树属于逻辑结构。

(对)二、选择1.在一颗非空二叉树中,叶子节点的总数比度为2的节点总数多( C )个A.-1B.0C.1D.22.在一棵完全二叉树中,其根的序号为1,(A )可判定序号为p和q的两个结点是否在同一层。

A. │log2p」=│log2q」B.log2p=log2qC.│log2p」+1=│log2q」D.│log2p」=│log2q」+13.如果根的层次为1,具有61个结点的完全二叉树的高度为( B )A.5B.6C.7D.84.若二叉树的先序遍历序列为ABDECF,中序遍历序列DBEAFC,则其后序遍历序列为(D )A. DEBAFCB. DEFBCAC. DEBCFAD. DEBFCA5.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为( C )A.23B.37C.44D.466.( C )的遍历仍需要栈的支持A.前序线索树B.中序线索树C.后序线索树7.对于前序遍历和中序遍历结果相同的二叉树为( F );对于前序遍历和后序遍历结果相同的二叉树为( B )。

A.一般二叉树B.只有根结点的二叉树C.根结点无左孩子的二叉树D.根结点无右孩子的二叉树E.所有的结点只有左孩子的二叉树F.所有结点只有右孩子的二叉树8.哈夫曼树是带权路径长度最短的树,路径上权值较小的结点离根(C )A.不确定B.较近C.较远9.在线索化二叉树中,结点t没有左子树的充要条件是(B )A.t->lchild=nullB.t->ltag=1C.t->ltag=1 且t->lchild=null D以上都不对三、问答1.假设先根次序遍历某棵树的结点次序为SACEFBDGHIJK,后根次序遍历该树的结点次序为CFEABHGIKJDS,要求画出这棵树。

2.简述二叉哈夫曼树的建树方法。

3.设记录的关键字(key)集合K={26,36,41,44,15,68,12,6,51,25},以K为权值集合,构建一棵哈夫曼树,依次取K中各值,构建一棵二叉排序树。

第7章图一、判断1、不是所有的AOV网都有一个拓朴序列。

(对)2、每个加权连通无向图的最小生成树都是惟一的。

(错)3、邻接表对于有向图和无向图的存储都适用。

(对)二、选择1、采用邻接表表示一有向图,若图中某顶点的入度和出度分别为d1和d2,则该顶点对应的单链表的结点数为( B )A.d1B.d2C.d1-d2D.d1+d22、具有n(n>0)个顶点的无向图最多含有(C )条边A.n(n-1)B.n(n+1)/2C.n(n-1)/2D.n(n+1)3、无向图中一个顶点的度是指图中( C )A.通过该顶点的简单路径数B.通过该顶点的回路数C.与该顶点相邻接的顶点数D.与该顶点连通的顶点数4、一个具有n(n>0)个顶点的连通无向图至少有( D )条边A.n+1B.nC.n/2D.n-15、无向图G=(V,A),其中V={a,b,c,d,e},A={<a,b>,<a,c>,<d,c>,<d,e>,<b,e>,<c,e>},对该图进行拓朴排序,下面序列中哪一个不是拓朴序列.( D )A.a,d,c,b,eB.d,a,b,c,eC.a,b,d,c,eD.a,b,c,e,d6、在对有向图G进行拓扑排序的目的不是(B )。

相关文档
最新文档