数据结构期末考试试题和标准答案及评分标准

合集下载

数据结构期末试题及答案

数据结构期末试题及答案

数据结构期末试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构和链式存储结构的主要区别在于:A. 数据元素的存储关系B. 数据元素的存储空间C. 数据元素的存储顺序D. 数据元素的存储位置答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈只能进行插入和删除操作C. 栈顶元素可以被访问D. 栈可以进行顺序存储和链式存储答案:B3. 在二叉树的遍历算法中,不使用递归算法的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:D4. 哈希表的冲突解决方法中,不包括以下哪种:A. 开放定址法B. 链地址法C. 线性探测法D. 排序法答案:D5. 在图的遍历算法中,深度优先搜索(DFS)和广度优先搜索(BFS)的主要区别在于:A. 搜索的顺序B. 存储结构C. 遍历的深度D. 遍历的宽度答案:A6. 快速排序算法的时间复杂度最坏情况下为:A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 下列关于二叉搜索树的描述中,正确的是:A. 每个节点的左子树只包含小于该节点的键值B. 每个节点的右子树只包含大于该节点的键值C. 以上两个选项都正确D. 以上两个选项都不正确答案:C8. 在非递归的二叉树遍历算法中,通常需要使用的数据结构是:A. 栈B. 队列C. 链表D. 数组答案:A9. 一个有n个顶点的无向图,其边数最多为:A. nB. n(n-1)/2C. n(n+1)/2D. n^2答案:B10. 一个长度为n的数组进行归并排序时,需要的辅助空间大小为:A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B二、填空题(每题2分,共10分)1. 在数据结构中,______是一种特殊的线性表,它的元素个数是固定的。

答案:数组2. 链表中,每个节点包含数据域和______。

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、单项选择题1. 数据结构是计算机科学的基础学科之一。

下列哪个选项正确描述了数据结构的定义?A. 数据结构是一种计算机程序B. 数据结构是一种存储和组织数据的方法C. 数据结构是一种人工智能技术D. 数据结构是一种操作系统答案:B2. 链表和数组是常见的数据结构,它们之间的主要区别是:A. 数组可以存储不同类型的数据,而链表只能存储相同类型的数据B. 数组的元素在内存中是连续存储的,而链表的元素在内存中是分散存储的C. 链表可以随机访问元素,而数组只能顺序访问元素D. 链表的插入和删除操作更高效,而数组的访问操作更高效答案:B3. 在二叉树中,每个节点最多可以有多少个子节点?A. 1B. 2C. 3D. 无限多个答案:B二、填空题1. 假设有一组数据 [5, 8, 3, 2, 9],按照从小到大的顺序进行冒泡排序的过程中,经过三次交换后的结果是__2__,__3__,__5__,__8__,__9__。

2. 请完成以下代码,实现栈的入栈和出栈操作:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():return self.stack.pop()def is_empty(self):# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False ```答案:```pythonclass Stack:def __init__(self):self.stack = []def push(self, item):self.stack.append(item)def pop(self):if not self.is_empty():def is_empty(self):return len(self.stack) == 0# 示例代码s = Stack()s.push(1)s.push(2)s.push(3)print(s.pop()) # 输出 3print(s.pop()) # 输出 2print(s.is_empty()) # 输出 False```三、简答题1. 请简要介绍树的基本概念及常见的树结构。

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 栈D. 队列答案:C2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?A. 首节点B. 尾节点C. 中间节点D. 孤立节点答案:B3. 树的度是指什么?A. 树中节点的个数B. 树中最大的层次数C. 树的分支数D. 树的节点的度的最大值答案:C4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?A. -1B. 0C. 1D. 该值本身答案:A5. 快速排序算法的时间复杂度最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n!)答案:C二、填空题1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。

答案:连续性;访问2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。

答案:分配和释放;插入与删除3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。

答案:后进先出;栈顶4. 图的遍历算法主要有两种,分别是________和________。

答案:深度优先搜索;广度优先搜索5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是基于________原则。

答案:最小权值三、简答题1. 请简述数组和链表的优缺点。

答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入和删除操作需要移动大量元素。

链表元素通过指针连接,可以动态分配大小,插入和删除效率高,但访问速度较慢,因为需要从头开始遍历。

2. 什么是二叉树的前序遍历、中序遍历和后序遍历?答案:二叉树的前序遍历是先访问根节点,然后遍历左子树,最后遍历右子树。

中序遍历是先遍历左子树,然后访问根节点,最后遍历右子树。

后序遍历是先遍历左子树,然后遍历右子树,最后访问根节点。

数据结构期末考试及答案

数据结构期末考试及答案

一、单选题1、逻辑上通常可以将数据结构分为( )A.初等结构和组合结构B.顺序结构和链式结构C.线性结构和非线性结构D.动态结构和静态结构正确答案:C2、如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是()。

A.栈B. 队列C.图D.树正确答案:D3、在长度为n的顺序表的第i个位置上插入一个元素(1<=i<=n+1),元素的移动次数为:()A.n-iB.i-1C.n-i+1D.i正确答案:C4、在非空线性链表中由p所指结点的后面插入一个由q所指的结点,应依次执行()A.q->next=p;p->next=q;B.p->next=q;q->next=p;C.q->next=p->next;p->next=q;D.q->next=p->next;p=q;正确答案:C5、已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为()A.2,3,5,6,1,4B.1,4,6,5,2,3C.5,4,3,2,1,6D.3,2,5,4,1,6正确答案:D6、设栈S和队列Q初始均为空,若6个元素入栈的顺序为1、2、3、4、5、6,一个元素出栈以后立即入队列Q,若6个元素出队的顺序为2、4、3、6、5、1,则栈S的容量至少为()A.3B.5C.4D.2正确答案:A7、在计算机内实现递归算法时所需的辅助数据结构是()A.队列B.栈C.图D.树正确答案:B8、循环队列存储在数组A[0..m-1],则出队时的操作为()A.front=(front mod m)+1B.ront=(front+1)mod mC.front=front+1D.front=(front+1)mod (m-1)正确答案:B9、若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列合法的是()A.SXXSXSSXB.SSSXXSXXC.SXSSXXXXD.SXSXXSSX正确答案:B10、在具有m个单元的循环队列中,队头指针为front,队尾指针为rear,则队满的条件是()A.(front+1)%m==rearB.(rear+1)%m==frontC.front==rearD.rear+1==front正确答案:B11、在表长为n的顺序表上做插入运算,平均要移动的结点数为()A.n/4B.nC.n/3D.n/2正确答案:D12、元素的进栈次序为A,B,C,D,E,则退栈中不可能的序列是()A.E,D,C,B,AB.A,B,C,D,EC.E,A,B,C,DD.B,C,D,E,A正确答案:C13、下述二叉树中,()满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序。

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题2分,共20分)1. 下面哪个数据结构是线性结构?A. 树B. 图C. 队列D. 网络流2. 下面哪个数据结构用于实现广度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆3. 下面哪个数据结构用于实现深度优先搜索算法?A. 栈B. 队列C. 散列表D. 堆4. 下面哪个数据结构用于实现快速排序算法?A. 栈B. 队列C. 散列表D. 堆5. 下面哪个数据结构用于实现优先队列?A. 栈B. 队列C. 散列表D. 堆6. 下面哪个数据结构用于实现哈希表?A. 栈B. 队列C. 散列表D. 堆7. 下面哪个数据结构用于实现最小树算法?A. 栈B. 队列C. 散列表D. 堆8. 下面哪个数据结构用于实现拓扑排序算法?A. 栈B. 队列C. 散列表D. 堆9. 下面哪个数据结构用于实现最短路径算法?A. 栈B. 队列C. 散列表D. 堆10. 下面哪个数据结构用于实现并查集算法?A. 栈B. 队列C. 散列表D. 堆第二部分:填空题(每题2分,共20分)1. 链表是一种______数据结构。

2. 二叉树的节点最多有______个子节点。

3. 堆是一种特殊的______。

4. 散列表的查找效率取决于______。

5. 图的遍历算法包括______和______。

6. 快速排序算法的平均时间复杂度为______。

7. 哈希表中的冲突解决方法有______和______。

8. 最小树算法包括______和______。

9. 最短路径算法包括______和______。

10. 并查集算法用于解决______问题。

第三部分:简答题(每题10分,共50分)1. 请简述栈和队列的区别。

2. 请简述二叉搜索树的特点。

3. 请简述哈希表的原理。

4. 请简述图的深度优先搜索算法。

5. 请简述最小树算法的原理。

第四部分:编程题(每题20分,共50分)1. 编写一个函数,实现链表的插入操作。

《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案

贵州大学理学院数学系信息与计算科学专业《数据结构》期末考试试题及答案(2003-2004学年第2学期)一、单项选择题1.对于一个算法,当输入非法数据时,也要能作出相应的处理,这种要求称为()。

(A)、正确性(B). 可行性(C). 健壮性(D). 输入性2.设S为C语言的语句,计算机执行下面算法时,算法的时间复杂度为()。

for(i=n-1;i>=0;i--)for(j=0;j<i;j++) S;(A)、n2(B). O(nlgn) (C). O(n) (D). O(n2)3.折半查找法适用于()。

(A)、有序顺序表(B)、有序单链表(C)、有序顺序表和有序单链表都可以(D)、无限制4.顺序存储结构的优势是()。

(A)、利于插入操作(B)、利于删除操作(C)、利于顺序访问(D)、利于随机访问5.深度为k的完全二叉树,其叶子结点必在第()层上。

(A)、k-1 (B)、k (C)、k-1和k (D)、1至k6.具有60个结点的二叉树,其叶子结点有12个,则度过1的结点数为()(A)、11 (B)、13 (C)、48 (D)、377.图的Depth-First Search(DFS)遍历思想实际上是二叉树()遍历方法的推广。

(A)、先序(B)、中序(C)、后序(D)、层序8.在下列链队列Q中,元素a出队的操作序列为()((B)、p=Q.front->next; Q.front->next=p->next;(C)、p=Q.rear->next; p->next= Q.rear->next;(D)、p=Q->next; Q->next=p->next;9. Huffman树的带权路径长度WPL等于()(A)、除根结点之外的所有结点权值之和(B)、所有结点权值之和(C)、各叶子结点的带权路径长度之和(D)、根结点的值10.线索二叉链表是利用()域存储后继结点的地址。

《数据结构》期末考试题及答案

《数据结构》期末考试题及答案

2011-2012学年第一学期期末考查《数据结构》试卷(答案一律写在答题纸上,在本试卷上做答无效)一、选择(每题1分,共10分)1.长度为n的线性表采用顺序存储结构,一个在其第i个位置插入新元素的算法时间复杂度为(D)A.O(0)B.O(1)C.O(n)D.O(n2)2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?(D)A.543612B.453126C.346512D.2341563.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为(B )A.8B.9C.10D.114.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是( B )A. m-nB.m-n-1C.n+1D.m+n5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B)A.9B.11C.15D.不确定6.下列哪一个方法可以判断出一个有向图是否有环。

(A)A.深度优先遍历B.拓扑排序C.求最短路径D.求关键路径7.第7层有10个叶子结点的完全二叉树不可能有(B )个结点。

A.73B.234C.235D.2368.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是(B)A.(100,80,90,60,120,110,130)B.(100, 120, 110,130,80, 60,90)C.(100,60,80,90,120,110,130)D.(100,80, 60,90, 120, 130,110)9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 2584 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是(B )A.选择排序B.起泡排序C.快速排序D.插入排序10.对线性表进行折半查找时,要求线性表必须(D)A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序二、填空(每空1分,共15分)1.数据结构中评价算法的两个重要指标是时间复杂度、空间复杂度。

数据结构期末考试试题答案详解

数据结构期末考试试题答案详解

《数据结构》试题(100分)(供2005级信息管理与信息系统本科专业使用)学号: 姓名: 座号: 系别: 年级: 专业:总分合计人: 复核人:说明:本试卷分为两部分,第I 卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II 卷直接在试卷上作答。

不按规定答题、填涂,一律无效。

第I 卷一、试题类型:单项选择题(每小题2分,共40分) (类型说明:在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。

多涂、少涂、错误均无分。

)1. 算法分析的两个主要方面是:( )(A) 空间复杂性和时间复杂性 (B) 正确性和简明性 (C) 可读性和文档性 (D) 数据复杂性和程序复杂性2. 计算机算法指的是: ( )(A) 计算方法 (B) 排序方法 (C) 解决问题的有限运算序列 (D) 调度方法 3. 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为:( )(A )存储结构 (B )逻辑结构 (C )顺序存储结构 (D )链式存储结构 4.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 。

( )(A )110 (B )108 (C )100 (D )1205. 链接存储的存储结构所占存储空间: ( )(A )分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 (B )只有一部分,存放结点值(C ) 只有一部分,存储表示结点间关系的指针(D ) 分两部分,一部分存放结点值,另一部分存放结点所占单元数 6. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址: ( )(A )必须是连续的 (B )部分地址必须是连续的 (C )一定是不连续的 (D )连续或不连续都可以7. 栈中元素的进出原则是:()(A)先进先出(B)后进先出(C)栈空则进(D)栈满则出8. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为:()(A) i (B) n=i (C) n-i+1 (D)不确定9. 串是一种特殊的线性表,其特殊性体现在:()(A)可以顺序存储(B)数据元素是一个字符(C)可以链式存储(D)数据元素可以是多个字符10. 设串s1=‘ABCDEFG’,s2=‘PQRST’,函数con(x,y)返回x和y串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))的结果串是:()(A)BCDEF (B)BCDEFG (C)BCPQRST (D)BCDEFEF11. 假设有60行70列的二维数组a[1…60, 1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为。

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)

2005年-2006学年第二学期“数据结构”考试试题(A)姓名学号(序号)_ 答案隐藏班号要求:所有的题目的解答均写在答题纸上(每张答题纸上要写清楚姓名、班号和学号),需写清楚题目的序号。

每张答题纸都要写上姓名和序号.一、单项选择题(每小题2分,共20分)1.数据的运算a 。

A.效率与采用何种存储结构有关B.是根据存储结构来定义的C。

有算术运算和关系运算两大类 D.必须用程序设计语言来描述答:A。

2. 链表不具备的特点是 a .A.可随机访问任一结点 B。

插入删除不需要移动元素C。

不必事先估计存储空间 D。

所需空间与其长度成正比答:参见本节要点3。

本题答案为:A。

3. 在顺序表中删除一个元素的时间复杂度为 c 。

A.O(1)B.O(log2n)C。

O(n) D.O(n2)答:C。

4.以下线性表的存储结构中具有随机存取功能的是 d 。

A。

不带头结点的单链表 B. 带头结点的单链表C. 循环双链表 D。

顺序表解 D。

5。

一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是 c .A.edcbaB.decbaC.dceabD.abcde答:C。

6. 循环队列qu的队空条件是 d 。

A。

(qu。

rear+1)%MaxSize==(qu.front+1)%MaxSizeB. (qu。

rear+1)%MaxSize==qu.front+1C.(qu。

rear+1)%MaxSize==qu.frontD。

qu。

rear==qu。

front答:D。

7。

两个串相等必有串长度相等且 b 。

A.串的各位置字符任意 B。

串中各位置字符均对应相等C.两个串含有相同的字符D。

两个所含字符任意答:B。

8. 用直接插入排序对下面四个序列进行递增排序,元素比较次数最少的是c 。

A。

94,32,40,90,80,46,21,69 B.32,40,21,46,69,94,90,80C.21,32,46,40,80,69,90,94 D。

最新国家开放大学电大《数据结构(本)》期末题库及答案

最新国家开放大学电大《数据结构(本)》期末题库及答案

最新国家开放大学电大《数据结构(本)》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《数据结构》题库及答案一一、单项选择题(每小题3分,共30分)试题答案及评分标准(供参考)一、单项选择题(每小题3分,共30分)1.C 2.B 3.A 4.C 5.B6.C 7.A 8.D 9.A 10.D二、填空题(每小题2分,共24分)11.先出 12.树形 13.行下标列下标数组元素 14.3 15.存储位置 16. 1017. 20 18.二叉排序树 19.叶20.4 21. 2,4,3;5,6,8,7,9 22. a2《数据结构》题库及答案二一、单项选择题(每小题3分,共30分)二、填空题(每小题2分,共24分)三、综合题【每小题中每问5分,共30分)四、程序填空题(每空2分,共16分)试题答案及评分标准(供参考)一、单项选择题(每小题3分,共30分)1.A 2.D 3.C 4.B 5.B6.C 7.B 8.C 9.A 10.C二、填空题(每小题2分,共24分)11.图状 12. n-j 13.二叉排序树 14. 1,2,4,8,3,5,915. 4 16. 3 17. 5 18. 319. 9 20. 12 21. 32 22. 7《数据结构》题库及答案三一、单项选择题,在括号内填写所选择的标号1.输出一个二维数组b[m][n]中所有元素的时间复杂度为( )。

A.()(n) B.()(m十n)C.()(n2) D.()(m*n)2.在一个长度为n的顺序存储的有序表中搜索值为x元素时,其时间效率最高的算法的时间复杂度为( )。

3.当利用大小为n的数组顺序存储一个栈时,假定用top= =n表示栈空,则向这个栈插入一个元素时,首先应执行( )语句修改top指针。

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 链表D. 哈希表答案:C2. 在二叉搜索树中,若删除一个节点,则需要进行以下哪些操作?A. 仅删除操作B. 删除操作和调整树结构操作C. 插入操作D. 忽略操作答案:B3. 快速排序算法的时间复杂度在最坏情况下是:A. O(log n)B. O(n)C. O(n log n)D. O(n^2)答案:D4. 下面哪个排序算法适用于大数据量的排序?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:D5. 哈夫曼树是一种特殊的:A. 二叉树B. 多叉树C. 哈希表D. 图答案:A二、填空题1. 链表的基本操作包括__________、__________、__________和__________。

答案:创建、插入、删除、查找2. 栈是一种后进先出(LIFO)的数据结构,其添加元素的操作称为__________,移除元素的操作称为__________。

答案:push、pop3. 在图的遍历算法中,按照遍历方向的不同,可以分为__________和__________。

答案:深度优先遍历、广度优先遍历4. 红黑树是一种自平衡的__________。

答案:二叉搜索树4. 散列表(哈希表)的主要优点是__________。

答案:查找速度快三、简答题1. 请简述数组和链表的区别及各自的优缺点。

答案:数组是一种顺序存储结构,通过索引直接访问元素,访问速度快,但是插入和删除操作需要移动大量元素,效率较低。

链表是一种非顺序存储结构,通过指针连接元素,插入和删除操作只需要改变指针,效率较高,但是访问元素需要从头开始遍历,速度较慢。

2. 请解释二分查找法的工作原理及其适用条件。

答案:二分查找法是一种在有序数组中查找特定元素的算法。

工作原理是将数组分为两部分,判断目标值与中间元素的大小关系,然后在相应的一半中继续查找,重复此过程,直到找到目标值或范围缩小到无法再分。

《数据结构》期末考试试卷(含答案)

《数据结构》期末考试试卷(含答案)

《数据结构》期末考试试卷( A )一、选择题(每小题2分,共24分)1.计算机识别、存储和加工处理的对象被统称为( A )A.数据B.数据元素C.数据结构D.数据类型2.栈和队列都是(A)A.限制存取位置的线性结构B.顺序存储的线性结构C.链式存储的线性结构D.限制存取位置的非线性结构3.链栈与顺序栈相比,比较明显的优点是( D )A.插入操作更加方便B.删除操作更加方便C.不会出现下溢的情况D.不会出现上溢的情况4.采用两类不同存储结构的字符串可分别简称为( B )A.主串和子串B.顺序串和链串C.目标串和模式串D.变量串和常量串5.一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是:BA. 110 B .108C. 100D. 1206.串是一种特殊的线性表,其特殊性体现在:BA.可以顺序存储 B .数据元素是一个字符C. 可以链接存储D. 数据元素可以是多个字符7.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为:CA. 2h B .2h-1C. 2h+1D. h+1软件开发网8.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。

这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。

下列结论哪个正确?AA. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同D. 以上都不对9.一个有n个顶点的无向图最多有多少边?CA. n B .n(n-1)C. n(n-1)/2D. 2n10.在一个图中,所有顶点的度数之和等于所有边数的多少倍?CA. 1/2 B .1C. 2D. 411.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为(A)A.左子树的叶子结点B.左子树的分支结点C.右子树的叶子结点D.右子树的分支结点软件开发网12.对于哈希函数H(key)=key%13,被称为同义词的关键字是( D )A.35和41B.23和39C.15和44D.25和51二、已知某棵二叉树的前序遍历结果为A,B,D,E,G,C,F,H,I,J,其中中序遍历的结果为D,B,G,E,A,H,F,I,J,C。

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)

数据结构期末考试试题(含答案)数据结构期末考试试题(含答案)第一题:多项式相加(20分)将两个多项式 P(x) 和 Q(x) 相加,结果存储在另一个多项式 S(x) 中,请写出相应的算法,并给出其时间复杂度分析。

答案:算法如下:1. 初始化一个空多项式 S(x)。

2. 分别取多项式 P(x) 和 Q(x) 的第一项,判断指数的大小关系,并将指数较小的项加入 S(x)。

3. 若指数相同,则将两项系数相加,并将结果加入 S(x)。

4. 重复步骤2和步骤3,直到两个多项式中的所有项都被处理完。

5. 返回结果多项式 S(x)。

时间复杂度分析:- 假设 P(x) 和 Q(x) 的项数分别为 m 和 n。

- 在最坏情况下,需要比较 m+n 次指数大小,并进行 m+n-1 次系数相加。

- 因此,该算法的时间复杂度为 O(m+n)。

第二题:循环队列设计(30分)请设计一个循环队列,实现入队、出队等基本操作,并给出时间复杂度分析。

答案:定义循环队列的结构体如下:```ctypedef struct {int *data; // 存储队列元素的数组int front; // 队首指针,指向队首元素的位置int rear; // 队尾指针,指向队尾的下一个位置int maxSize; // 队列的最大容量} CircularQueue;```基本操作的实现如下:1. 初始化循环队列:```cvoid initQueue(CircularQueue *queue, int maxSize) {queue->data = (int *)malloc(sizeof(int) * maxSize);queue->front = queue->rear = 0;queue->maxSize = maxSize;}```2. 入队操作:```cint enqueue(CircularQueue *queue, int value) {if ((queue->rear + 1) % queue->maxSize == queue->front) { return 0; // 队列已满,插入失败}queue->data[queue->rear] = value;queue->rear = (queue->rear + 1) % queue->maxSize;return 1; // 插入成功}```3. 出队操作:```cint dequeue(CircularQueue *queue, int *value) {if (queue->front == queue->rear) {return 0; // 队列为空,出队失败}*value = queue->data[queue->front];queue->front = (queue->front + 1) % queue->maxSize; return 1; // 出队成功}```时间复杂度分析:- 入队和出队操作的时间复杂度均为 O(1)。

大学数据结构期末考试试题(有答案)

大学数据结构期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一>next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一〉next=HL一>next;HL一〉next=p;2.n个顶点的强连通图中至少含有( ).A。

n—l条有向边 B.n条有向边C.n(n—1)/2条有向边 D。

n(n一1)条有向边3。

从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A。

O(1) B。

O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A.整形B.引用型C.指针型D.常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、-—和—-四种。

2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.-—中缀表达式 3十x*(2。

4/5—6)所对应的后缀表达式为———-。

4.在一棵高度为h的3叉树中,最多含有——结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为—-,最大深度为-—·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定——该结点的值,右子树上所有结点的值一定-—该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层—-调整,直到被调整到——位置为止.8.表示图的三种存储结构为——、——和-——.9.对用邻接矩阵表示的具有n个顶点和e条边的图进行任一种遍历时,其时间复杂度为-—,对用邻接表表示的图进行任一种遍历时,其时间复杂度为—-。

数据结构期末考试试题及答案

数据结构期末考试试题及答案

数据结构期末考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是什么?A. 元素之间存在一对一的关系B. 元素之间存在一对多的关系C. 元素之间存在多对多的关系D. 元素之间存在一对一或多对多的关系2. 栈(Stack)是一种特殊的线性表,其特点是:A. 允许在表的任一位置进行插入和删除操作B. 只能在表的首端进行插入和删除操作C. 只能在表的末端进行插入和删除操作D. 插入和删除操作没有特定的限制3. 以下哪个算法是排序算法?A. 快速排序B. 深度优先搜索C. 广度优先搜索D. 二分查找4. 哈希表解决冲突的常用方法不包括:A. 开放寻址法B. 链地址法C. 二分查找法D. 再散列法5. 在图的遍历算法中,深度优先搜索(DFS)使用的是:A. 栈B. 队列C. 链表D. 树...(此处省略其他选择题)二、简答题(每题10分,共30分)1. 请简述二叉树的三种遍历方法及其特点。

2. 什么是平衡二叉树?请说明它与普通二叉树的区别。

3. 解释什么是图的邻接矩阵表示法和邻接表表示法,并比较它们的优缺点。

三、计算题(每题15分,共30分)1. 给定一个数组A[1...n],请写出一个时间复杂度为O(n)的算法,找出数组中的最大值和最小值。

2. 假设有一个链表,链表中的节点按照值递增的顺序排列,请设计一个算法删除链表中所有重复的节点。

四、编程题(每题20分,共20分)1. 编写一个函数,实现二叉搜索树的插入操作,并保证树的平衡。

数据结构期末考试答案一、选择题1. C2. B3. A4. C5. A...(此处省略其他选择题答案)二、简答题1. 二叉树的三种遍历方法包括前序遍历、中序遍历和后序遍历。

前序遍历首先访问根节点,然后递归遍历左子树,最后递归遍历右子树。

中序遍历首先递归遍历左子树,然后访问根节点,最后递归遍历右子树。

后序遍历首先递归遍历左子树,然后递归遍历右子树,最后访问根节点。

数据结构期末试题及答案

数据结构期末试题及答案

数据结构期末试题及答案一、选择题1. 在数据结构中,以下哪个选项不是线性数据结构的特点?- A. 元素个数有限- B. 元素类型相同- C. 元素之间存在一对一的线性关系- D. 元素之间存在一对多的非线性关系答案:D2. 栈是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?- A. 入栈(push)- B. 出栈(pop)- C. 查看栈顶元素(peek/top)- D. 判断栈是否为空(isEmpty)- E. 删除栈中所有元素(clear)答案:E3. 在二叉树中,以下哪个选项不是二叉树的特点?- A. 每个节点最多有两个子节点- B. 子节点分为左子节点和右子节点- C. 左子节点的值一定小于父节点- D. 节点没有顺序答案:C4. 哈希表的冲突解决方法,以下哪个不是常用的方法?- A. 开放寻址法- B. 链地址法- C. 再哈希法- D. 排序法答案:D二、简答题1. 简述链表和数组的区别。

- 链表是一种动态数据结构,元素通过指针连接,不需要连续的内存空间;数组是一种静态数据结构,元素在内存中连续存储。

- 链表的插入和删除操作不需要移动其他元素,而数组需要移动元素来保持连续性。

- 数组的随机访问速度快,因为可以直接通过索引访问;链表的随机访问需要从头开始遍历。

2. 解释二叉搜索树(BST)的中序遍历。

- 中序遍历是一种遍历二叉树的算法,按照左子树、根节点、右子树的顺序访问节点。

- 对于二叉搜索树,中序遍历的结果是一个递增的序列。

三、编程题1. 编写一个函数,实现单链表的反转。

```pythonclass ListNode:def __init__(self, x):self.val = xself.next = Nonedef reverseList(head):prev = Nonecurrent = headwhile current:next_node = current.nextcurrent.next = prevprev = currentcurrent = next_nodereturn prev```2. 编写一个函数,实现二叉树的前序遍历。

数据结构期末考试题及答案

数据结构期末考试题及答案

数据结构期末考试题及答案一、选择题1. 以下哪种数据结构是线性存储结构?A. 树B. 图C. 链表D. 哈希表答案:C2. 栈和队列的共同特点是:A. 只能在一端进行插入和删除操作B. 插入和删除操作在不同的两端进行C. 插入和删除操作在同一端进行D. 没有共同点答案:B3. 在二叉搜索树中,若要查找值为x的节点,当发现一个节点的值大于x时,应该:A. 在该节点的左子树中查找B. 在该节点的右子树中查找C. 停止查找D. 随机查找答案:A4. 快速排序算法的时间复杂度为:A. O(log n)B. O(n log n)C. O(n^2)D. O(1)答案:B5. 下面哪种排序算法适用于大数据量的排序?A. 冒泡排序B. 插入排序C. 快速排序D. 选择排序答案:C二、填空题1. 链表的基本操作包括________、________、________和________。

答案:创建、插入、删除、查找2. 在图的表示中,邻接矩阵法的主要缺点是________,而邻接表法的主要缺点是________。

答案:空间消耗大、查询效率低3. 哈夫曼树是一种基于________的最优二叉树,广泛应用于数据压缩和编码。

答案:字符频率4. 红黑树是一种自平衡的二叉搜索树,它的插入和删除操作能保证最坏情况下的查找时间复杂度对数级,具体为________。

答案:O(log n)5. 散列表(哈希表)解决冲突的方法主要有开放定址法、链地址法和________。

答案:双重散列法三、简答题1. 请简述数组和链表的区别及各自的优缺点。

答案:数组是一种顺序存储结构,它的特点是通过索引直接访问元素,访问速度快,但是大小固定,不便于动态扩展。

链表是非连续的存储结构,元素通过指针连接,可以动态地插入和删除元素,但是访问元素需要从头开始遍历,速度较慢。

2. 描述二分查找的算法过程及其时间复杂度。

答案:二分查找是一种在有序数组中查找特定元素的算法。

数据结构期末考试试题和标准答案及评分标准

数据结构期末考试试题和标准答案及评分标准

《数据结构》试题(A卷)(考试时间:90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。

A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。

据的存3.4.5.6.7.8.A.线性表采用顺序存储,必须占用一片连续的存储单元。

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

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

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

9.队列操作的原则是()。

A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。

A.栈首B.栈尾C.栈顶D.栈底11.假设以数组A[n]存放循环队列的元素,其首尾指针分别为front和rear,则当前队列中的元素个数为()。

A.(rear-front+n)%nB.rear-front+1C.(front-rear+n)%nD.(rear-front)%n12.最大容量为n的循环队列,队尾指针是rear,队首指针是front,则队空的判断条件是()。

13.构。

14.15.12在q3.放了2个字符。

4.广义表(a,b,c,d)的表尾是。

5.一棵深度为k的二叉树,最多有个结点。

6.已知有向图G=(V,E),其中:V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>},则G的拓扑序列是______。

7.有n个顶点的连通图至少有条边。

8.1.()23.4()5.6.7.8.9.()10.采用线性探测法解决冲突问题,所产生的一系列后继散列地址必须大于等于原散列址。

计算机数据结构期末考试题及答案

计算机数据结构期末考试题及答案

计算机数据结构期末考试题及答案一、单选题(每题5分,共10题)1. 数据结构的基本概念是指()。

A. 对象的有序集合B. 数据元素之间的关系C. 数据的逻辑结构和存储结构D. 数据的操作和运算答案:C2. 在数据结构中,链表的插入和删除操作的时间复杂度是()。

A. O(1)B. O(log n)C. O(n)D. O(n^2)答案:A3. 堆栈(栈)是一种遵循()原则的数据结构。

A. 先进先出B. 后进先出C. 先进后出D. 后进后出答案:B4. 以下哪种搜索算法不适合用于无序表的查找?A. 顺序查找B. 二分查找C. 哈希查找D. 插值查找答案:B5. 常用的排序算法中,时间复杂度最优的是()。

A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B6. 树是一种()结构。

A. 非线性B. 线性C. 扁平D. 单一答案:A7. 图中用于表示顶点之间关系的存储结构通常有()。

A. 邻接矩阵和邻接表B. 数组和链表C. 哈希表和堆栈D. 栈和队列答案:A8. 广度优先搜索算法用于求解()问题。

A. 最短路径B. 最长路径C. 最小生成树D. 编译错误答案:A9. 动态规划算法通常用于求解()问题。

A. 一维空间B. 二维空间C. 三维空间D. 多维空间答案:D10. 哈希表是一种通过()实现数据元素的查找操作。

A. 数值B. 字符串C. 对象D. 散列函数答案:D二、填空题(每空5分,共5题)1. 按照先进先出(FIFO)原则,队列的删除操作又称为()。

答案:出队2. 在二叉树中,每个节点最多可以有()个子节点。

答案:23. 在哈希表中,通过散列函数将关键字映射到存储位置的过程称为()。

答案:散列4. 快速排序算法的时间复杂度为()。

答案:O(n log n)5. 图中两个顶点之间的最短路径可以使用()算法求解。

答案:迪杰斯特拉三、编程题(每题20分,共2题)题目一:请编写一个函数,接受一个整数数组作为参数,返回数组中的最大值和最小值。

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

《数据结构》试题(A卷)(考试时间: 90分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.()是组成数据的基本单位,是一个数据整体中相对独立的单元。

A.数据 B.数据元素 C.数据对象 D.数据结构2.算法计算量的大小称为算法的()。

A.效率?????B.复杂度C.数据元素之间的关系??? ?D.数据的存储方法3.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入或删除运算,则采用以下()方式最节省时间。

A.链式存储B. 索引存储C.顺序存储D.散列存储4.下述哪一条是顺序存储结构的优点?()A.存储密度大?B.插入运算方便?C.删除运算方便?D.可方便地用于各种逻辑结构的存储表示5.在一个单链表中,若删除p所指结点的后续结点,则执行()。

>next=p->next->next >next=p->next=p->next;p->next=p->next->next =p->next->next6.带头结点的单链表head为空的判定条件是()。

==NULL >next==NULL >next==head !==NULL7.非空的循环单链表head的尾结点(由p所指向)满足()。

>head==NULL ==NULL >next==head ==head8.下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。

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

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

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

9.队列操作的原则是()。

A.后进先出B.先进先出C.只能进行插入D.只能进行删除10.栈中允许进行插入和删除的一端称为()。

A.栈首B.栈尾C.栈顶D.栈底11.假设以数组A[n]存放循环队列的元素,其首尾指针分别为front和rear,则当前队列中的元素个数为()。

A.(rear-front+n)%n B. rear-front+1C. (front-rear+n)%nD.(rear-front)%n12.最大容量为n的循环队列,队尾指针是rear,队首指针是front,则队空的判断条件是()。

A.(rear+1)%n==front ==front +1==front D.(rear-1)%n==front13.将一个十进制的数转换成二进制的数,可以使用以下一种称为()的数据结构。

A. 图B. 树C. 广义表D. 栈14. 把一棵树转换为二叉树后,这棵二叉树的形态是()。

A. 有2种B. 有3种C. 有4种D. 唯一的15.一棵左右子树均不空的二叉树在先序线索化后,其中空链域的个数是()。

A. 3B. 2C. 0D. 不确定二、填空题(本大题共10个空,每空2分,共计20分)1.数据结构是研究程序设计中计算机操作的以及它们之间的关系和运算的一门学科。

2.在一个单链表中,已知指针q所指结点是指针p 所指结点的前驱结点,若在q和p之间插入结点s,则应执行两条语句:___ ___ ,。

3.字符串采用结点大小为2的链表作为其存储结构,是指链表的每个链结点的域中只存放了2个字符。

4.广义表(a,b,c,d)的表尾是。

5.一棵深度为k的二叉树,最多有个结点。

6.已知有向图G=(V,E),其中: V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>},则G的拓扑序列是___ _ __。

7. 有n个顶点的连通图至少有条边。

8. 图的存储常采用和两种方法。

三、判断题(本大题共10小题,每题1分,共10分)(请在每小题后面的括号里写出答案,如果正确,请写“√”,如果错误,请写“×”)1.线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。

()2.线性表就是顺序存储的表。

()3.当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用顺序存储结构。

()4.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。

()5.串的长度是指串中所含不同字符的个数。

()6.对稀疏矩阵进行压缩存储的目的是节省存储空间。

()7.二叉树是非线性数据结构,所以它不能采用顺序存储结构存储。

()8.任意一棵二叉树中至少有一个结点的度为2。

()9.对线性表进行二分查找时,要求线性必须以顺序方式存储,且结点按关键字有序排序。

()10.采用线性探测法解决冲突问题,所产生的一系列后继散列地址必须大于等于原散列地址。

()四、应用题(本小题共5小题,每小题6分,共30分)1.简述以下算法的功能(假设栈和队列的元素类型均为int)(6分)void fun1(Queue &Q){Stack S;int x;Initstack(S);While(!QueueEmpty(Q)){ DeQueue(Q,x);Push(S,x); }While(!StackEmpty(S)){ Pop(S,x);EnQueue(Q,x);}}2.请将如图所示的一棵树转换成一棵二叉树。

(6分)3.给定叶结点(a,b,c,d,e,f,g),权值分别为{23,12,15,7,17,2,8},画出对应的哈夫曼树,并写出各叶结点的哈夫曼编码。

(6分)4.(6分)已知图G的邻接表如图所示,则:从顶点v1出发的深度优先搜索序列为____ _ __。

从顶点v1出发的广度优先搜索序列为____ _ __。

5.求构造图所示无向网的最小生成树(6分)五、算法设计题(本大题共1小题,每小题10分,共10分)1.已知查找表的数据元素类型如下:Typedef struct Rectype{int num;char name[8];}Rectype;假设查找表中有n个记录,并且是按num降序顺序存储Typedef Rectype Sqlist[100];要求:(1)写出对给定值K进行二分查找的算法和main函数。

(2)二分查找算法的函数头部为“int binsearch(Sqlist R,int n,int K) “(3)在main函数中建立该查找表、调用二分查找算法,并输出查找结果。

《数据结构》试题(B卷)(考试时间:90 分钟)一、单项选择题(本大题共15小题,每小题2分,共30分)(每题只有一个选项是正确的,将答案填写在括号内,错选、多选不得分)1.在数据结构中,数据的()结构是独立于计算机的。

A.逻辑B.存储C.散列D.索引2.下列程序段的时间复杂度为()。

for(i=0;i<n;i++) x=x-2;(2n)? ? (n) C. O(1) D. O(n2)3. 链式存储结构表示的线性表也称为()。

A.链表B.顺序表C.双链表D.物理表4.不带头结点的单链表(头指针为head)为空的判定条件是()。

A.head==NULL B.head->next==headC.head->next==NULL D.head!=NULL5.线性表若采用顺序结构时,要求内存中可用存储单元的地址()。

A.一定是不连续的 B.部分地址是连续的C.一定是连续的 D.连续不连续都可以6.对于单链表,在两个结点之间插入一新结点需要修改的指针共()个。

7.若线性表中有n个元素,算法()在单链表上实现要比在顺序表上实现效率更高。

A.删除所有值为x的元素B.在最后一个元素的后面插入一个新元素C.顺序输出前k个元素D.交换其中某两个元素的值8.对于顺序表,访问结点和增加、删除结点的时间复杂度分别为()。

(n) O(n) B. O(1) O(n) C. O(n) O(1) D. O(1) O(1)9.队列的删除操作是在()进行。

A.队首 B.队尾 C.队首前一单元 D.队尾后一单元10.下列关于栈的叙述中,正确的是()。

A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对11.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S ,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少是()个。

B. 412.假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13和17,则当前尾指针的值为______。

?13.银行业务叫号系统采用了数据结构。

A.栈B.广义表C.队列D.图14.按照二叉树的定义,具有3个结点的不同形状的二叉树有______种。

15. n个结点的线索二叉树上含有的线索数为______。

+1二、填空题(本大题共10个空,每空2分,共20分)1.数据结构包含三个方面的内容,即数据的逻辑结构、数据的结构和对数据所施加的操作。

2.已知指针q值为NULL、指针p指向单链表L中的某结点,则删除其后继结点(要求由指针q指向)的语句是,,free(q)。

3.设广义表L=(a,( )),则Head(L)= 。

4.当且仅当两个串的相等并且各个对应位置上的字符都相等时,称这两个串相等。

5.二叉树的第4层结点数最多为个。

6.除了利用求关键路径的方法,还可以利用方法判断出一个有向图是否有环(回路)。

7.图的遍历主要有和两种方法。

8. 具有4个顶点的无向完全图有条边。

三、判断题(本大题共10小题,每题1分,共10分)(请在每小题后面的括号里写出答案,如果正确,请写“√”,如果错误,请写“×”)1.对于一个线性表,采用顺序存储方式进行插入和删除结点时效率太低,采用链式存储方式更好。

()2.所谓静态链表就是一直不发生变化的链表。

()3.在顺序表中,最后一个元素有一个后继。

()4.线性表就是链式存储的表。

()5.串是一种特殊的线性表,其特殊性体现在数据元素可以是多个字符。

()6.对稀疏矩阵进行压缩存储的目的是便于输入和输出。

()7.任意一棵二叉树中的度可以小于2。

()8.树形结构最适合用来表示元素之间具有分支层次关系的数据。

()9.当采用分块查找时,数据的组织方式为:数据分成若干块,每块内数据必须有序。

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

()四、应用题(本小题共5小题,每小题6分,共30分)1. 下面是对二叉树进行操作的算法,其功能为(6分)Void unknown(Btree BT){ Btree p=BT,temp;If(p!=NULL){ temp=p->lchild;p->lchild=p->rchild;p->rchid=temp;unknown(p->lchild);unknown(p->rchild); }2. 请写出如图所示二叉树的先序遍历序列、中序遍历序列和后序遍历序列。

相关文档
最新文档