中南大学十套数据结构试题及答案

合集下载

数据结构复习题及答案

数据结构复习题及答案

中南大学现代远程教育课程考试(考试)复习题及参考答案数据结构(使用教材:余腊生编著,人民邮电出版社出版,《数据结构—基于C++模板类的实现》一、判断题1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

[ ] 2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。

[ ]3.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

[ ] 4.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

[ ] 5.一个广义表的表尾总是一个广义表。

[ ] 6.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

[ ] 7.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。

[ ] 8.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。

[ ] 9.直接选择排序是一种稳定的排序方法。

[ ] 10.30、闭散列法通常比开散列法时间效率更高。

[ ] 11.有n个结点的不同的二叉树有n!棵。

[ ] 12.直接选择排序是一种不稳定的排序方法。

[ ] 13.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。

[ ] 14.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。

[ ] 15.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。

[ ] 16.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。

在设计再散列函数时,要求计算出的值与表的大小m互质。

[ ] 17.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

[ ] 18.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。

数据结构十套试卷答案

数据结构十套试卷答案

数据结构试卷(一)参考答案一、选择题(每题2分,共20分)1.A2.D3.D4.C5.C6.D7.D8.C9.D 10.A 二、填空题(每空1分,共26分)1. 正确性 易读性 强壮性 高效率2. O(n)3. 9 3 34. -1 3 4 X * + 2 Y * 3 / -5. 2n n-1 n+16. e 2e7. 有向无回路8. n(n-1)/2 n(n-1)9. (12,40) ( ) (74) (23,55,63) 10.增加111.O(log 2n) O(nlog 2n) 12.归并三、计算题(每题6分,共24分)1. 线性表为:(78,50,40,60,34,90)2. 邻接矩阵:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡0111010101110111010101110邻接表如图11所示:图113. 用克鲁斯卡尔算法得到的最小生成树为: (1,2)3, (4,6)4, (1,3)5, (1,4)8, (2,5)10, (4,7)204. 见图12图124 4 4 4 4 2 2 25 552 2 8 84 352 83 4四、读算法(每题7分,共14分)1.(1)查询链表的尾结点(2)将第一个结点链接到链表的尾部,作为新的尾结点(3)返回的线性表为(a2,a3,…,a n,a1)2.递归地后序遍历链式存储的二叉树。

五、法填空(每空2分,共8 分)true BST->left BST->right六、编写算法(8分)int CountX(LNode* HL,ElemType x){ int i=0; LNode* p=HL;//i为计数器while(p!=NULL){ if (P->data==x) i++;p=p->next;}//while, 出循环时i中的值即为x结点个数return i;}//CountX数据结构试卷(二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1.构造一个好的HASH函数,确定解决冲突的方法2.stack.top++,stack.s[stack.top]=x3.有序4.O(n2),O(nlog2n)5.N0-1,2N0+N16.d/27.(31,38,54,56,75,80,55,63)8.(1,3,4,5,2),(1,3,2,4,5)三、应用题1.(22,40,45,48,80,78),(40,45,48,80,22,78)2.q->llink=p; q->rlink=p->rlink; p->rlink->llink=q; p->rlink=q;3.2,ASL=91*1+2*2+3*4+4*2)=25/94.树的链式存储结构略,二叉树略5.E={(1,3),(1,2),(3,5),(5,6),(6,4)}6.略四、算法设计题1.设有一组初始记录关键字序列(K1,K2,…,K n),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于K i,右半部分的每个关键字均大于等于K i。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

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

A.健壮性和可读性B.并行性C.正确性D.时空复杂度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.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

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

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

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

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

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

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

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

、数据结构复习题及答案

、数据结构复习题及答案

中南大学现代远程教育课程考试<专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。

< )2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。

< )3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。

( >4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。

( >5.如果两个串含有相同的字符,则这两个串相等。

<)6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。

<)7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

< )8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。

< )9.一个广义表的表尾总是一个广义表。

< )10.当从一个小根堆<最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。

< )11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O<h)。

< )12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。

< )13.直接选择排序是一种稳定的排序方法。

< )14.闭散列法通常比开散列法时间效率更高。

< )15.有n个结点的不同的二叉树有n!棵。

( >16.直接选择排序是一种不稳定的排序方法。

( >17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。

( >18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层>不超过8。

( >19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构2013试题参考答案中南大学考试试卷2015--2016学年上学期期末考试试题时间100分钟数据结构课程56学时3.5学分考试形式:闭卷专业年级:计算机科学与技术10级总分100分,占总评成绩70%姓名班级学号(本试卷共四道大题,答案全部做在答题纸上!)一、选择题(每题2分,共24分)1.以下数据结构中,属于线性结构的是()A.图B.栈C.二分查找树D.森林2.用二分法查找表(a0,a1,a2,a3,……a16),需要比较2次才能找到的元素是()A.a7和a16 B.a11和a13C.a1和a14 D.a3和a123.用概率查找改进查找效率,是经过多次查找以后使得()A.查找次数越少的元素查找速度越快B.查找次数越少的元素越往前存放C.查找次数越多的元素越往后存放D.查找次数越多的元素查找速度越快4.二分查找要求元素( )A.有序、顺序存储B.有序、链式存储C.无序、顺序存储D.无序、链式存储5.已知pPre为指向链表中某结点的指针,pNew是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中pPre所指向结点的后面?()A.pPre->link = pNew; pNew = null;B.pPre->link = pNew->link; pNew->link = null;C.pNew->link = pPre->link; pPre->link = pNew;D.pNew->link = pPre->link; pPre->link = null;6.在递归算法执行过程中,计算机系统必定会用到的数据结构是()A.队列B.链表C.栈D.二叉树7.一个队列的入列序为ABCD,则队列的可能输出序列为()A.DCBA B.ABCDC.ADCB D.CBDA8.具有10个叶子结点的二叉树中有()个度为2的结点A.8 B.9C.10 D.119.若A=10,B=4,C=6,D=4,E=15则后缀表达式“AB*CD+-E+”的值为( )。

数据结构试题及答案(10套)

数据结构试题及答案(10套)

数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。

每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。

下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。

2. 在二叉搜索树中,中序遍历的结果是________。

编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。

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

编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。

每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构试题参考答案讲解学习

中南大学计算机数据结构2013试题参考答案中南大学考试试卷2015--2016学年上学期期末考试试题时间100分钟数据结构课程56学时3.5学分考试形式:闭卷专业年级:计算机科学与技术10级总分100分,占总评成绩70%姓名班级学号(本试卷共四道大题,答案全部做在答题纸上!)一、选择题(每题2分,共24分)1.以下数据结构中,属于线性结构的是()A.图B.栈C.二分查找树D.森林2.用二分法查找表(a0,a1,a2,a3,……a16),需要比较2次才能找到的元素是()A.a7和a16 B.a11和a13C.a1和a14 D.a3和a123.用概率查找改进查找效率,是经过多次查找以后使得()A.查找次数越少的元素查找速度越快B.查找次数越少的元素越往前存放C.查找次数越多的元素越往后存放D.查找次数越多的元素查找速度越快4.二分查找要求元素( )A.有序、顺序存储B.有序、链式存储C.无序、顺序存储D.无序、链式存储5.已知pPre为指向链表中某结点的指针,pNew是指向新结点的指针,以下哪段伪码算法是将一个新结点插入到链表中pPre所指向结点的后面?()A.pPre->link = pNew; pNew = null;B.pPre->link = pNew->link; pNew->link = null;C.pNew->link = pPre->link; pPre->link = pNew;D.pNew->link = pPre->link; pPre->link = null;6.在递归算法执行过程中,计算机系统必定会用到的数据结构是()A.队列B.链表C.栈D.二叉树7.一个队列的入列序为ABCD,则队列的可能输出序列为()A.DCBA B.ABCDC.ADCB D.CBDA8.具有10个叶子结点的二叉树中有()个度为2的结点A.8 B.9C.10 D.119.若A=10,B=4,C=6,D=4,E=15则后缀表达式“AB*CD+-E+”的值为( )。

十套数据结构试题及答案

十套数据结构试题及答案

十套数据结构试题及答案1.请设计一个栈结构,满足以下要求:-支持常规的入栈和出栈操作。

-支持获取当前栈中最小元素的操作,并要求时间复杂度为O(1)。

答案:可以使用两个栈,一个用于存储数据,另一个用于维护当前栈中的最小值。

每次入栈时,比较要入栈的元素与当前栈中的最小值,将较小的值入最小栈。

出栈时,同时从数据栈和最小栈中出栈,保持栈的一致性。

2.请用链表实现一个队列结构,满足以下要求:-支持常规的入队和出队操作。

-支持获取队列中的最大值和最小值的操作,并要求时间复杂度为O(1)。

答案:使用双向链表实现队列,每个结点保存当前最大值和最小值,入队时更新队列相关结点的最大值和最小值,出队时删除队首结点,并更新队列最大值和最小值。

3. 设计一个LRU(Least Recently Used)缓存结构,要求如下:-缓存结构内存固定大小。

-当缓存结构满时,插入新的数据时需要剔除最近最少使用的数据。

答案:可以使用哈希表和双向链表来实现。

哈希表用于实现快速查找,双向链表用于保存数据的访问顺序。

当一些数据被访问时,根据哈希表快速定位到对应的结点,并将该结点移到链表头部。

当需要插入新数据时,如果缓存容量已满,则将链表尾部的结点剔除。

4.设计一个支持并发访问的并且具有线程安全性的哈希表结构。

答案:可以使用读写锁来保证线程安全性。

读操作时,多个线程可以同时读取,不会产生冲突;写操作时,需要获取写锁,保证同时只能有一个线程执行写操作。

5.实现一个拓扑排序算法,对有向无环图进行排序。

答案:可以使用DFS和栈结构来实现。

从任意一个未被访问的结点开始,递归地进行深度优先,并将访问完毕的结点入栈。

最终得到的栈中的结点顺序即为拓扑排序结果。

6.设计一个支持高效插入与删除的动态数组结构。

答案:可以使用动态平衡二叉树(例如AVL树)来实现。

插入与删除操作的时间复杂度为O(log n),并保持树的平衡性,避免树的高度过大。

7.设计一个支持高效查找的散列表结构。

中南大学十套数据结构试题与答案

中南大学十套数据结构试题与答案

数据结构试卷(一) (1)数据结构试卷(二) (5)数据结构试卷(三) (9)数据结构试卷(四) (14)数据结构试卷(五) (19)数据结构试卷(六) (24)数据结构试卷(七) (28)数据结构试卷(八) (32)数据结构试卷(九) (36)数据结构试卷(十).......................... 41 数据结构试卷(一)参考答案. (47)数据结构试卷(二)参考答案 (48)数据结构试卷(三)参考答案 (51)数据结构试卷(四)参考答案 (54)数据结构试卷(五)参考答案 (58)数据结构试卷(六)参考答案 (60)数据结构试卷(七)参考答案 (64)数据结构试卷(八)参考答案 (66)数据结构试卷(九)参考答案 (69)数据结构试卷(十)参考答案 (71)数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

数据结构试题及答案(10套最新)

数据结构试题及答案(10套最新)

数据结构试题及答案(10套最新)数据结构试题及答案(10套最新)第一套试题:问题一:什么是数据结构?数据结构的作用是什么?回答:数据结构是一种组织和存储数据的方式,它关注数据元素之间的关系以及对数据元素的操作。

数据结构的作用包括提供高效的数据存储和访问方式,减少资源消耗,简化问题的解决方法,提高算法的性能和程序的可读性。

问题二:请列举几种常见的线性数据结构,并简要介绍它们的特点。

回答:常见的线性数据结构包括数组、链表和栈。

数组是一种连续存储数据元素的结构,具有随机访问的特点;链表是一种通过指针相连的数据元素,可以灵活地插入和删除元素;栈是一种遵循先进后出原则的数据结构,常用于解决递归问题。

问题三:请说明二叉树的定义及其性质。

回答:二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点。

二叉树具有以下性质:每个节点最多有两个子节点,分别称为左子节点和右子节点;左子树和右子树都是二叉树;二叉树的节点个数为n,边的个数为n-1。

问题四:在数组中查找一个元素的时间复杂度是多少?为什么?回答:在数组中查找一个元素的时间复杂度是O(n),其中n是数组的长度。

因为在数组中查找元素需要按照索引一个一个比较,最坏情况下需要比较n次才能找到目标元素。

问题五:请解释堆排序算法的原理及时间复杂度。

回答:堆排序算法利用堆这种数据结构进行排序。

首先将待排序的元素构建成一个大顶堆,然后将堆顶元素与最后一个元素交换,继续调整堆,再取出堆顶元素与倒数第二个元素交换,依次执行,最后得到从小到大排序的序列。

堆排序的时间复杂度为O(nlogn)。

第二套试题:问题一:请解释图的邻接矩阵和邻接表表示法。

回答:图的邻接矩阵表示法是使用二维数组来表示图的连接关系,数组中的元素表示相应节点之间的边的关系。

邻接表表示法使用链表来表示图的连接关系,链表中的元素表示相邻节点之间的边的关系。

问题二:请说明深度优先搜索算法的原理及其应用。

回答:深度优先搜索(DFS)算法是一种遍历或搜索图的算法,其原理是从起始节点开始,依次深入到尽可能远的节点,直到无法继续深入为止,然后回溯到上一个节点,再继续深入其他未访问过的节点。

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

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

中南大学网络教育课程考试复习题及参考答案数据结构一、填空:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。

2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。

3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。

4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。

5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。

6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。

7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。

8.在快速排序、堆排序、归并排序中,_________排序是稳定的。

9.在有n个叶子结点的哈夫曼树中,总结点数是_______。

10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。

11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。

现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。

12.在有n个结点的无向图中,其边数最多为_______。

13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。

14.对矩阵采用压缩存储是为了___ ____。

15.带头结点的双循环链表L为空表的条件是_______。

16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。

17.对于顺序存储的栈,因为栈的空间是有限的,在进行运算时,可能发生栈的上溢,在进行运算时,可能发生栈的下溢。

中大实践考核数据结构试题和答案(上机考试)

中大实践考核数据结构试题和答案(上机考试)

数据结构样题1、已知整数a、b,假设函数succ(x)=x+1、pred(x)=x-1,不许直接用“+”、“-”运算符号,也不许用循环语句,只能利用函数succ( )和pred( ),试编写计算a+b,a-b的递归函数add(a,b),sub(a,b),并在主程序中验证函娄的正确性。

#include "stdio.h"#include "conio.h"int succ(int x){return x+1;}int pred(int x){return x-1;}int add(int a,int b){if(b==0) return a;if(b>0) return succ(add(a,pred(b)));else return pred(add(a,succ(b)));}int sub(int a,int b){if(b==0) return a;if(b>0) return pred(sub(a,pred(b)));else return succ(sub(a,succ(b)));}void main(){int k,a,b;clrscr();printf("\n Please input a b: ");scanf("%d%d",&a,&b);printf("\n a+b=%d",a+b);printf("\n a-b=%d",a-b);printf("\n add(a,b)=%d",add(a,b));printf("\n sub(a,b)=%d",sub(a,b));if((a+b==add(a,b))&&(a-b==sub(a,b)))printf("\n It's right! ");else printf("\n It's wrong! \n\n");}样题2 试编写一个求解Josephus问题的函数。

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年中南大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。

A.j=r[j].nextB.j=j+lC.j=j->nextD.j=r[j]->next2、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为()。

A.5B.6C.8D.93、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。

A.单链表B.双向链表C.单循环链表D.顺序表4、在用邻接表表示图时,拓扑排序算法时间复杂度为()。

A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)5、下面关于串的叙述中,不正确的是()。

A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。

下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ7、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。

A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,198、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107B.108C.214D.2159、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。

A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是()。

十套数据结构试题及答案

十套数据结构试题及答案

4. A.队列 B.栈设有一个二维数组 A[m][ n],假设 676(1。

),每个元素占一个空间,问 制表示。

B . 678C . 692D . 696 5.树最适合用来表示()。

B.无序数据元素D.元素之间无联系的数据D. 2k-1A. 1 B . 2 C. 3D. 4 数据结构试卷(一) ..................... 1 数据结构试卷(二) ..................... 4 数据结构试卷(三) ..................... 6 数据结构试卷(四) ..................... 8 数据结构试卷(五) .................... 11 数据结构试卷(六) .................... 14 数据结构试卷(七) .................... 16 数据结构试卷(八) .................... 18 数据纟吉构试卷(九) .................. 20 数据纟吉构试卷(十) (23)数据吉构试卷(一)参考答案 ........... 26 数据吉构试卷(二)参考答案 ........... 27 数据结构试卷(三)参考答案 ........... 28 数据结构试卷(四)参考答案 ........... 30 数据结构试卷(五)参考答案 ........... 32 数据结构试卷(六)参考答案 ........... 33 数据吉构试卷(七)参考答案 ........... 36 数据吉构试卷(八)参考答案 ........... 37 数据结构试卷(九)参考答案 ........... 38 数据结构试卷(十)参考答案 .. (39)数据结构试卷(一)、单选题(每题2分,共20分) 1. 栈和队列的共同特点是()。

A. 只允许在端点处插入和删除元素B. 都是先进后出C. 都是先进先出D. 没有共同点2. 用链接方式存储的队列,在进行插入运算时 ().A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?()C.线性表D.二叉树A[0][0]存放位置在644(10),A[2][2]存放位置在 A[3][3] (10)存放在什么位置?脚注(10)表示用10进C.元素之间具有分支层次关系的数据6.二叉树的第k 层的结点数最多为(). A . 2k-1B.2K+1C.2K-17. 若有18个元素的有序表存放在一维数组 A[19]中,第一个元素放 A[1]中,现进行二分查找,则查找 A :3]的比较序列的下标依次为( )A. 1, 2, 3B. 9, 5, 2, 3C. 9, 5, 3D. 9, 4, 2, 38. 对n 个记录的文件进行快速排序,所需要的辅助存储空间大致为A. 0( 1)B. O (n )C. 0( 1og 2n )D. O (n2)9. 对于线性表(7, 34, 55, 25, 64, 46, 20, 10)进行散列存储时,若选用 H (K )=K %9作为散列函数,则散列地址为 1的元素有( )个,10.设有6个结点的无向图,该图至少应有 ( )条边才能确保是一个连通图。

数据结构试题及答案(十套)

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套)一、选择题1. 数据结构是指()。

A. 存储数据的方式B. 数据的逻辑结构和物理结构C. 数据的存储结构和存储方式D. 数据的逻辑结构、存储结构和存储方式答案:D2. 在数据结构中,线性表的存储方式包括()。

A. 顺序存储和链式存储B. 数组存储和链表存储C. 顺序存储、链表存储和索引存储D. 顺序存储、链表存储和树形存储答案:A3. 栈是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:C4. 队列是一种()的数据结构。

A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A5. 二叉树中,度为0的节点称为()。

A. 叶子节点B. 根节点C. 中间节点D. 子节点答案:A6. 以下哪个排序算法是稳定的?A. 快速排序B. 选择排序C. 插入排序D. 希尔排序答案:C7. 图中表示顶点之间关系的边的数量称为()。

A. 顶点度数B. 边数C. 路径数D. 网络答案:B8. 哈希表通过()来实现高效的查找操作。

A. 散列函数B. 排序算法C. 遍历操作D. 顺序存储答案:A9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。

A. 0B. 1C. 2D. 3答案:B10. 在链表中,删除节点的操作时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)答案:A二、填空题1. 在顺序存储结构中,元素之间的逻辑关系由()表示。

答案:下标2. 二叉查找树的中序遍历结果是一个()序列。

答案:递增3. 哈希表通过散列函数将关键字映射到()上。

答案:地址4. 图的邻接表中,每个顶点的所有邻接点链接成一个()。

答案:链表5. 位运算符中的左移和右移运算都是对二进制数进行()操作。

答案:移位三、解答题1. 简要介绍顺序存储和链式存储这两种线性表的存储方式,并比较它们的优缺点。

答案:顺序存储是将元素按照逻辑顺序依次存储在一块连续的存储空间中,通过元素的下标可以直接访问到元素。

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

中南大学十套数据结构试题及答案数据结构试卷(1)................1数据结构试卷(2)................4数据结构试卷(3)................6数据结构试卷(4)................8数据结构试卷(5)................11数据结构试卷(6)................14数据结构试卷(7)................16数据结构试卷(8)................18数据结构试卷(9)................20数据结构试卷(10)................2 3数据结构试卷(1)参考答案.........26数据结构试卷(2)参考答案 (27)数据结构试卷(3)参考答案.........28数据结构试卷(4)参考答案 (30)数据结构试卷(5)参考答案.........32数据结构试卷(6)参考答案 (33)数据结构试卷(7)参考答案.........36数据结构试卷(8)参考答案...37数据结构试卷(9)参考答案.........38数据结构试卷(10)参考答案 (39)数据结构试卷(1)1,单项题(每题2分,共20分)1。

堆栈和队列的共同特征是()A.仅允许在端点b插入和删除元素。

所有元素都是先进先出。

所有元素都是先进先出。

没有公共基础2。

以链接方式存储的队列。

在插入操作过程中()。

A .只应修改头部指针b。

头指针和尾指针都应该修改c .只有尾指针d .头指针和尾指针都应该修改3。

下列哪种数据结构是非线性结构?()队列b堆栈c线性表d二叉树4。

有一个二维数组[m][n]。

假设[0][0]存储在644(10)中,[2][2]存储在676(10)中。

每个元素占据一个空间。

问一问[3][3)(10)它储存在哪里?脚注(10)用十进制表示a . 688b . 678c . 692d . 6965。

这棵树最适合用来代表()a .有序数据元素b .无序数据元素c .元素之间具有分支层次关系的数据d .元素之间没有连接的数据6。

二叉树k级的最大节点数是()。

a . 2k-1b . 2k+1c . 2k-1d . 2k-17。

如果18个元素的有序表存储在一维数组A[19]中,则第一个元素被放置在[1]中,现在执行分数搜索。

那么搜索a [3]的比较序列的下标是()A1,2,3 B,5,2,3 C,5,3 D,4,2,38。

n个记录的文件快速排序,所需的辅助存储空间约为a . o(1)b . o(n)c . o(1 og2n)d . o(N2)9。

当对线性表(7,34,55,25,64,46,20,10)进行散列时,如果选择H(K)=K %9作为散列函数,则有()个元素的散列地址为1,a.1b.2c.3d.410。

有6个节点的无向图应该至少有()条边,以确保它是连通图A.5b.6c.7d.8ii .填写问题(每栏1分,共26分)1。

通常,算法的质量是从四个方面来评估的:_ _ _ _ _ _ _ _ _ _ _、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _、和_ _ _ _ _ _ _ _ _ _ _ _ _3222。

算法的时间复杂度为(n+nlog2n+14n)/n,其数量级表示为_ _ _ _ _ _ _ _ _3.假设树的广义表表示为A(C,D(E,F,G),H(I,J)),树中的节点数为_ _ _ _ _ _ _ _,树的深度为_ _ _ _ _ _ _ _,树的度数为_ _ _ _ _ _ _ _ _4。

后缀公式9 2 3+-10 2/-的值为_ _ _ _ _ _ _ _ _ _对应于中缀公式(3+4X)-2Y/3的后缀公式1是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _5.如果一个二叉树存储在一个链表中,除了数据字段外,每个节点还有个引脚指向左子节点和右子节点在这种存储结构中,由n个节点组成的二叉树总共有_ _ _ _ _ _ _ _个指针字段,其中_ _ _ _ _ _ _ _个指针字段存储地址,_ _ _ _ _ _ _ _个指针为空指针6.对于具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,分别有_ _ _ _ _ _ _ _个和_ _ _ _ _ _ _ _个边节点7。

AOV网络是一种_ _ _ _ _ _ _ _ _ _ _ _ _ _ _图8.一个有n个顶点的无向完全图包含_ _ _ _ _ _ _ _条边,而一个有n个顶点的方向的完全图包含_ _ _ _ _ _ _ _条边9。

假设一个线性表是(12,23,74,55,63,40),如果根据键% 4的条件进行划分,那么具有相同余数的元素成为一个子表,那么所获得的四个子表是_ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _,_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _分别为10.在将元素插入到B_树的过程中,如果根节点最终被拆分,则新树的高度为__________11。

在堆排序过程中,筛选任何分支节点的时间复杂度为_ _ _ _ _ _,堆排序整个过程的时间复杂度为_ _ _ _ _ _ _12。

在快速排序、堆排序和合并排序中,_ _ _ _ _ _ _ _ _ _ _排序是稳定的3.计算题(每题6分,共24分)1。

线性表链接并存储在下面的数组中。

标题中的指针是[0]。

接下来,试着写线性表格A 0 1 2 3 4 5 6 7数据60 50 78 90 34 40下一个3 5 7 2 0 4 12。

请在下图中绘制邻接矩阵和邻接表3。

已知图的顶点集V和边集E是:V={1,2,3,4,5,6,7 };E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25 };使用Kruskar算法获得最小生成树,并尝试写出在最小生成树中按顺序获得的每条边4.将数据4、2、5、8、3添加到小根堆后,绘制堆的变化。

4.阅读算法(每题7分,共14分)1。

link listmynote(link listl){//l是没有头节点的单个链表的头指针if (lbc (Bt-> right );coutdatap-> next = q-> next;自由(q);(二)q=p->下一个;q->数据=p->数据;p-> next = q-> next;自由(q);(三)q=p->下一个;p-> next = q-> next;自由(q);(D) q=p->下一个;p->数据=q->数据;自由(q);4。

对于要排序的n个记录关键字,()在堆排序中需要辅助记录单元(a)1(b)n(c)nlog 2n(d)n5。

如果一组初始密钥记录密钥为(20,15,14,18,21,36,40,10),则基于20的快速排序后的结果为()(A) 10、15、14、18、20、36、40、21 (B) 10、15、14、18、20、40、36、21 (C) 10、15、14、20、18、40、36、2l (D) 15、10、14、18、20、36、40、216。

如果二进制排序树中有n个节点,则二进制排序树中的平均搜索长度为()(a)o(1)(b)o(log2n)(c)(d)o(N2)7。

如果无向图g中有n个顶点和e条边,则其对应的邻接表中头节点和表节点的数量为()(A) n,e (B) e,n (C) 2n,e (D) n,2e 8。

如果强连通图中有n个顶点,那么强连通图中至少有()条边(a)n(n-1)(b)n+1(c)n(d)n(n+1)9。

有5000个记录关键字需要排序。

如果需要用最快的方法选择最短的10个记录关键字,可以使用下面的()方法来实现这个目标(a)快速排序(b)堆排序(c)合并排序(d)插入排序10。

在以下四种类型中(),空间复杂度最大(a)插入排序(B)冒泡排序(C)堆排序(D)合并排序22,填入空格(每空一个20分)1。

数据的物理结构主要包括_ _ _ _ _ _ _ _ _和_ _ _ _ _ _ _ _ _两种情况2。

如果在一个完整的二叉树中有500个节点,那么二叉树的深度是_ _ _ _ _ _;如果使用二进制链表作为完整二叉树的存储结构,则总共有_ _ _ _ _ _ _ _ _ _ _个空指针字段3。

如果输入序列是1、2、3,_ _ _ _ _ _ _ _ _ _在堆栈操作后可以获得不同的输出序列。

4.如果邻接矩阵A[n][n]被用作图g的存储结构,则邻接矩阵的第一行中所有元素的和等于顶点1的_ _ _ _ _ _ _并且第一列中所有元素的和等于顶点1的_ _ _ _ _ _ _65。

如果哈夫曼树中有n个节点,那么哈夫曼树中有_ _ _ _ _ _ _个1度节点6.有向图g中有n个顶点,有e条有向边。

如果所有顶点度数的和是d,那么e和d之间的关系是_ _ _ _ _ _ _ _ _7.________遍历二进制排序树中的节点以获得递增的键序列(填入第一个顺序、中间顺序或顺序后的)8.假设查找表中有100个元素。

如果使用二进制搜索方法来查找数据元素x,您最多可以通过比较_ _ _ _ _ _次来确定数据元素x是否在查找表中。

9.无论是顺序存储结构的堆栈还是链式存储结构的堆栈,堆栈进入和堆栈退出操作的时间复杂度都是_ _ _ _ _ _ _ _ _ _ _10。

有n个节点的完全二叉树。

如果从1开始从上到下、从左到右编号,则第256个+i节点的父节点号为_ _ _ _ _ _ _ _ _ _ _ _ _ _,而右子节点号为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _11.如果一组初始记录关键字是(72,73,71,23,94,16,5),则基于记录关键字72的快速排序的结果是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _12。

相关文档
最新文档