数据结构期末考试试卷
数据结构期末试卷及答案3

数据结构期末试卷及答案3⼀、单项选择题(本⼤题共15⼩题,第⼩题2分,共30分)在每⼩题列出的四个选项中只有⼀个符合题⽬要求,请将其代码填在题后的括号内。
错选或未选均⽆分。
1. 算法必须具备输⼊、输出和[ C ]A. 计算⽅法B. 排序⽅法C.解决问题的有限运算步骤 D. 程序设计⽅法2. 有n个节点的顺序表中,算法的时间复杂度是O(1)的操作是[ A ]A.访问第i个节点(1≤i≤n)B.在第i个节点后插⼊⼀个新节点(1≤i≤n)C.删除第i个节点(1≤i≤n)D.将n个节点从⼩到⼤排序3.单链表的存储密度[ C] A.⼤于1 B. 等于1C.⼩于1 D. 不能确定4.设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进⾏,则出栈序列不可能是[ B] A.23415 B. 54132C.23145 D. 154325. 循环队列SQ的存储空间是数组d[m],队头、队尾指针分别是front和rear,则执⾏出队后其头指针front值是[ D ]A.front=front+1 B. front=(front+1)%(m-1)C. front=(front-1)%mD. front=(front+1)%m6. 在⼀个具有n个结点的有序单链表中插⼊⼀个新结点并仍然保持有序的时间复杂度是[ B ]A. O(1)B. O(n)C. O(n2)D. O(nlogn)7. 设⼆维数组A[0..m-1][0..n-1]按⾏优先顺序存储,则元素A[i][j]的地址为[ B ] A.LOC(A[0][0])+(i*m+j) B.LOC(A[0][0])+(i*n+j)C.LOC(A[0][0])+[(i-1)*n+j-1]D. LOC(A[0][0])+[(i-1)*m+j-1]8. ⼀个⾮空⼴义表的表头[ D ]A.⼀定是⼦表 B. ⼀定是原⼦C.不能是⼦表 D. 可以是原⼦,也可以是⼦表9.具有n个节点的完全⼆叉树的深度为[ A ] A.?log2(n+1)? -1 B. log2n+1C. log2nD. ?log2n?10. 若要惟⼀地确定⼀棵⼆叉树,只需知道该⼆叉树的[ D ]A.前序序列 B. 中序序列C.前序和后序序列 D. 中序和后序序列11.在⼀个⽆向图中,所有顶点的度数之和等于图的边数的倍[ C ] A.1/2 B. 1C. 2D. 412. 拓扑排序运算只能⽤于[ C ]A.带权有向图 B. 连通⽆向图C.有向⽆环图 D. ⽆向图13.在所有排序⽅法中,关键字⽐较的次数与记录的初始排列次序⽆关的是[ D ] A.希尔排序 B. 冒泡排序C.插⼊排序 D. 选择排序14.下列排序算法中时间复杂度不受数据初始状态影响,恒为O(n2)的是[ C ] A.堆排序 B. 冒泡排序C.直接选择排序 D. 快速排序15.⼆分查找要求节点[ A ] A.有序、顺序存储 B. 有序、链接存储C.⽆序、顺序存储 D. ⽆序、链接存储⼆、填空题(本⼤题共10⼩题,每⼩题2分,共20分)不写解答过程,将正确的答案写在每⼩题的空格内。
国开电大2023年春季期末考试《数据结构》试题(试卷代号1252)

国家开放大学2023年春季学期期末统一考试数据结构(本)试题一、单项选择题(把合适的选项编号填写在括号内。
每小题3分,共45分)1.线性结构、树形结构、图形结构都是按数据的( )来分类的。
A.存储结构B.物理和存储结构C.物理结构D.逻辑结构2.在数据结构中,从逻辑上可以把数据结构分为( ).A.动态结构和静态结构B.紧凑结构和非紧凑结构C.内部结构和外部结构D.线性结构和非线性结构3.设有一个长度为n的顺序表,要删除第i个元素,则需移动元素的个数为( )。
A. iB. n-i-1C. n-iD. n-i+14.设有一个长度为10的顺序表,要在第3个元素之后插入一个元素,则需移动元素的个数为( ).A.3B.6C. 7D.85.一个队列的人队序列是10,20 ,30,40。
则队列的输出序列是( ).A.40,30,20,10B.10,20,30,40C.10.40,30,20D.30 ,20,40,106.在一棵二叉树中(其根结点编号为1),若编号为8的结点存在右孩子,则该右孩子的顺序编号为( )。
A.18B.16C.15D.177.队列的出队操作在( )进行。
A.队头B.队尾C.任意位置D.指定位置8.串函数index(a ,b)的功能是进行( )。
A.求子串B.串连接C.模式匹配D.求串长9.一个非空广义表的表头元素( )。
A.不可能是原子B.只能是子表C.只能是原子D.可以是子表或原子10.链表所具备的特点之一是( )。
A.可以随机访问任一结点B.需要占用连续的存储空间.C.插人元素的操作不需要移动元索D.删除元素的操作需要移动元素11.树中所有结点数等于所有结点的度加( )。
A.1B.0C. 2D. -112.在一个无向图G中,所有边数之和等于的所有顶点的度数之和( )倍。
A.1/2B. 1C.2D.413.对于一个具有4个顶点和5条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为( )。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案第一部分:选择题(每题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. 编写一个函数,实现链表的插入操作。
《数据结构》期末考试题及答案

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.数据结构中评价算法的两个重要指标是时间复杂度、空间复杂度。
二学期数据结构期末考试试卷(A卷)

石家庄学院《数据结构》期末考试试卷(A 卷)题目部分,(卷面共有135题,100分,各大题标有题量和总分)一、应用题(4小题,共8分)1.试列出下图全部可能的拓扑排序序列2.在实现快速排序的非递归算法时,可根据基准对象,将待排序排序码序列划分为两个子序列。
若下一趟首先对较短的子序列进行排序,试证明在此做法下,快速排序所需要的栈的深度为O(log2n)。
3.设有上三角矩阵(aij)n*n ,将其上三角中的元素按先行后列的顺序存于数组B (1:m )中,使得B[k]= aij 且k=f1(i)+f2(j)+c ,请推导出函数f1,f2和常数c ,要求f1和f2中不含常数项。
4.用三元数组表示稀疏矩阵的转置矩阵,并简要写出解题步骤。
二、判断正误(20小题,共10分)1.散列表的结点中包含数据元素自身的信息,不包含任何指针。
(F)2.负载因子(装填因子)是散列表的一个重要参数,它反映敞列表的装满程度。
( T )3.一个图的广度优先搜索树是唯一的。
( F )4.外排序过程主要分为两个阶段:生成初始归并段和对归并段进行逐趟归并的阶段。
( T ) 5.在完成外排序过程中,每个记录的I/O 次数必定相等。
( F )6.为提高在外排序过程中,对长度为N 的初始序列进行“置换—选择”排序时,可以得到的最大初始有序段的长度不超过N/2。
( F )7.在外部排序时,利用选择树方法在能容纳m 个记录的内存缓冲区中产生的初始归并段的平均长度为2m 个记录。
( T )8.堆排序是稳定的排序方法。
( F )9.循环队列通常用指针来实现队列的头尾相接。
( F ) 10.有n 个数顺序(依次)进栈,出栈序列有c n 种,即:21(2)!1(!)n n C n n =⨯+。
( T ) 11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
( F )12.完全二叉树的某结点若无左孩子,则它必是叶结点。
( T ) 13.深度为K 的二叉树中结点总数≤2k-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]的存储地址为。
数据结构期末考试题30

信息技术学院2006-2007学年第二学期期末考试数据结构试卷30(适用班级:)一、判断题(10分,每题1分)1.对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先搜索遍历可访问到该图的每个顶点。
()2.在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不公与表的个数有关,而且与每一块中的元素个数有关。
()3.只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。
()4.图G的最小生成树的代价一定小于其他生成树的代价。
()5.已知一棵树的先序序列和后序序列,一定能构造出该树。
()6.对一个堆按层次遍历,不一定能得到一个有序序列。
()7.设与一棵树T所对应的二叉树为BT,则与T中的叶子结点所对应的BT中的结点也一定是叶子结点。
()8.任一AOE网中至少有一条关键路径,且是从源点到汇点的路径中最长的一条。
()9.删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。
()10.快速排序是排序算法中最快的一种。
()二、填空题(20分,每空2分)1.取出广义表A=((X,Y,Z),(A,B,C,D))中的原子B的函数是________。
2.在有序表A[1..20]中,中,采用二分查找算法查找元素值等于A[12]的元素,所比较过元素的下标依次为________。
3.若某串的长度小于一个常数,则采用________存储方式最节省空间。
4.在有n个顶点的有向图中,每个顶点的度最大可达________。
5.已知二叉树中叶子数为50,共有一个孩子的结点数为30,则总结点数为________。
6.在左右子树均不空的先序线索二叉树中,空链域的数目是________。
7.在二叉链表中判断某指针P所指结点为叶子结点的条件是________。
8.直接选择排序算法在最好情况下所作的交换元素的次数为________。
9.下列排序算法中,占用辅助空间最多的是________。
(堆排序,希尔排序,快速排序,归并排序)10.一个无向图采用邻接矩阵存储方法,其邻接矩阵一定是一个______________三、选择题(20分,每题2分)1.在有n个叶子结点的哈夫曼树中,其结点总数为()。
南京大学《数据结构》期末试卷(含答案)

考试科目名称 数据结构〔A1 卷〕1、填空题。
〔每题 2 分,此题总分值 20 分〕 (1) C++语言中,数组是按行优先顺序存储的,假设定义了一个二维数组 A[20][30],每个元素占两个字节,其起始地址为 2140,那么二维数组 A 的最后一个数据元素的地址为 2140+2*(30*20-1) = 3338(3338,3339) 。
(2) 假设 A ,B 是两个单链表,链表长度分别为 n 和 m ,其元素值递增有序,将 A 和 B 归并成一个按元素值递增有序的单链表,并要求辅助空间为 O(1),那么实现该功能的算法的时间复杂度为 O(m+n)。
(3) 快速排序的平均时间复杂度是n*lg n。
(4) 假设有一个包含 9 个元素的最小堆,存放在数组 A 中,那么一定比 A[3]大的元素有__2 (A[7],A[8]) 个;一定比 A[3]小的元素有 2 (A[0],A[1])个。
〔元素从第 0 个位置开始存放〕(5) 广义表(((A)),(B,C), D, ((A), ((E,F)))) 的长度是4,深度是 4。
(6) 有 10 个元素的有序表,采用折半查找,需要比拟 4 次才可找到的元素个数为3。
(7〕当两个栈共享一存储区时,栈利用一维数组 A[n]表示,两栈顶指针为 top[0]与 top[1],那么栈满时的判断条件为top[0]+1=top[1]_ 或者 top[0] = top[1]+1。
(8) 假设计算斐波那契数的函数 Fib(long n)定义如下:long Fib(long n){if(n<=1) return n;else return Fib(n-1)+Fib(n-2)}计算 Fib(5)时的递归调用树〔即指明函数调用关系的树〕的高度是 4 子结点所在的高度为 0。
假设叶(9)(10) 假设用子女—兄弟链表方式表示森林,对应的二叉树的根结点是 p ,那么森林的第三棵树的根结点在二叉树中对应的结点是: p->rightchild->rightchild。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最简单《数据结构》
期末考试试卷(A卷)
班级学号姓名成绩
(本卷需要草稿纸)
一、选择题(每题2分,共30分)
1.在以下的叙述中,正确的是( )。
A.线性表的顺序存储结构优于链表存储结构
B.线性表的顺序存储结构适用于频繁插入/删除数据元素的情况
C.线性表的链表存储结构适用于频繁插入/删除数据元素的情况
D.线性表的链表存储结构优于顺序存储结构
2.从表中任一结点出发,都能扫描整个表的是()。
A.单链表
B.顺序表
C.循环链表
D..静态链表
3.在一个长度为n的顺序存储的线性表中,向第i个元素(0≤i≤n-1)位置插入一个新元素时,需要从后向前依次后移( )个元素。
A. n-i
B. n-i+1
C. n-i-1
D. i
4.若一个结点的引用为p,它的前驱结点的引用为q,则删除p的后继结点的操作为( )。
A. p=p.next.next
B. p.next=p.next.next
C. q.next=p.next
D. q.next=q.next.next
5.设一数列的输入顺序为1,2,3,4,5,6,出栈操作不可能排成的输出序列为( )。
A.3,2,5,6,4,1
B.1,5,4,6,2,3
C.2,4,3,5,1,6
D.4,5,3,6,2,1
6.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素
B.都是先进后出
C.都是先进先出
D.没有共同点
7.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加( )。
A. 2
B. 1
C. 0
D. -1
8.对线性表进行二分查找时,要求线性表必须( )
A.以顺序方式存储
B.以顺序方式存储,且结点按关键字值有序排列
C.以链接方式存储
D.以链接方式存储,且结点按关键字值有序排列
9.下列各种结构的物理存储必须占用连续的存储空间的是 ( )
A.数组 B.栈 C.二叉树 D.链表
10. 有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,A11为第一元素,其存储地址为1,每个元素占1个地址空间,则A33地址为( )
A.13
B.33
C.18
D.40
11. 用二分查找法查找具有N个结点的顺序表时,查找每个结点的平均比较次数是( )
A.O(N2 )
B.O(Nlog2N)
C.O(N)
D.O(log2N)
12.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )
A.顺序存储结构
B.链式存储结构
C.索引存储结构
D.散列存储结构
13. 对长度为n的单链有序表,若查找每个元素的概率相等,则查找任一元素的平均查找长度为()
A. n/2
B. (n+1)/2
C. (n-1)/2
D.n/4
14. 根据数据集合{23,44,36,48,52,73,64,58}建立散列表,采用h(K)=K%7计算散列地址,则同义词元素的个数最多为()个。
A.1
B. 2
C. 3
D. 4
15. 以下数据结构中哪个是非线性结构()
A.队列
B. 栈
C. 顺序表
D. 二叉树
二、填空题(每空2分,共20分)
1.插入排序算法主要有、和希尔排序。
2.散列技术的两个关键问题是和。
3.队列的插入操作在进行,删除操作在进行。
4.一维数组采用存储结构。
5.二维数组中元素a ij的地址Loc(a ij)的计算公式为。
6.顺序查找优点是。
缺点是。
三、简答题(每题5分,共10分)
1.已知一棵二叉树的先根和中根遍历序列如下,画出据此构造的二叉树并写出后根遍历序列。
先根遍历序列:ABCIDEHFJG
中根遍历序列:BICAHEJFGD
2.假设用于通信的电文仅由ABCDEFGH 8个字母组成,字母在电文中出现的频率分别为0.07, 0.19, 0.02, 0.06, 0.32, 0.03, 0.21, 0.10。
试为这8个字母设计哈夫
曼编码。
四、程序填空与编写程序(每题10分,共20分)
1、程序填空,并写出程序的主要功能(1、
2、3空2分,4空4分)public static void bubbleSort(int[] table){
boolean (1)
for(int i=1;i<table.lenth&&exchange;i++){
exchange=false;
for(int j=0;j<table.length-i;j++){
if(table[j]>table[j+1]){
int (2)
table[j]= table[j+1];
=temp;(3)
exchange=true;
}
} } }
此程序的主要功能是:(4)2、编写基于顺序表的折半查找算法,找到则返回下标,没找到返回-1 public int binarySearch(int[] value,int key){
}
五、算法分析应用题(每题10分,共20分)
1.以数组{503,87,512,61,908,170,897,275,653,426}为例,手工执行排序算法,写出每一趟排序结束时的数组状态。
(1)直接插入算法(5分)
(2)冒泡排序算法(5分)
2、以数组{17,82,55,86,99,01,56,34,13,80}建立一棵二叉排序树(5分),再将其调整为平衡二叉树(5分)。