数据结构期末考试试卷
数据结构期末试卷及答案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。
数据结构期末试题及答案
计算机科学与技术、网络工程本科《数据结构》期末考试试卷一、选择题〔单选题,每小题3分,共33分〕1.已知某二叉树的中序、层序序列分别为DBAFCE、FDEBCA,则该二叉树的后序序列为。
A.BCDEAF B.ABDCEF C.DBACEF D.DABECF 2.在11个元素的有序表A[1…11]中进行折半查找〔⎣⎦2/)low+〕,查找元素(highA[11]时,被比较的元素的下标依次是。
A.6,8,10,11 B.6,9,10,11 C.6,7,9,11 D.6,8,9,113.由元素序列〔27,16,75,38,51〕构造平衡二叉树,则首次出现的最小不平衡子树的根〔即离插入结点最近且平衡因子的绝对值为2的结点〕为。
A.27 B.38 C.51 D.754.利用逐点插入法建立序列〔50,72,43,85,75,20,35,45,65,30〕对应的二叉排序树以后,查找元素30要进行次元素间的比较。
A.4 B.5 C.6 D.75.循环链表的主要优点是。
A.不再需要头指针了B.已知某个结点的位置后,很容易找到它的直接前驱结点C.在进行删除后,能保证链表不断开D.从表中任一结点出发都能遍历整个链表6.已知一个线性表〔38,25,74,63,52,48〕,假定采用散列函数h〔key〕=key%7计算散列地址,并散列存储在散列表A[0…6]中,若采用线性探测方法解决冲突,则在该散列表上进行等概率查找时查找成功的平均查找长度为。
A.1.5 B.1.7 C.2.0 D.2.37.由权值为9,2,5,7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为。
A.23 B.37 C.44 D.468.在最好和最坏情况下的时间复杂度均为O〔nlogn〕且稳定的排序方法是。
A.基数排序B.快速排序C.堆排序D.归并排序9.无向图G=(V,E),其中V={a,b,c,d,e,f},E={(a,b),〔a,e〕,(a,c),〔b,e〕,〔c,f〕,(f,d),〔e,d〕}。
数据结构,期末考试试卷,复旦大学计算机科学技术学院-2012
7、 分析对比 AVL 树和 Hash 的时空特性,并讨论它们的适合场合。(6 分)
第 7 页
时空特性: AVL 树是高度平衡的二叉查找树,查找时间复杂度为 O(logn),Hash 的查找时间复杂度为 O(1)。 存储开销 Hash 往往比 AVL 树小。 适合场合: Hash 必须处理冲突,而 AVL 树不存在这种问题。对于删除操作,AVL 树的时间开销很稳定,为 O(logn),而 Hash,如果采用拉链法处理冲突,则删除操作易于实现,如果采用开放定址法,则 删除操作很难实现,因此开放定址法的 Hash 不适合更新频繁的数据存储。另外,AVL 树对数据 的存储是有序的,而 Hash 对数据的存储并不能反映数据之间的大小关系。因此,AVL 树适用于 有序的数据存储,而 Hash 适用于数据量比较大且分布比较均匀,对数据排序无要求的数据存储。
专业
题号 得分
学号
一 二 三
姓名
四 总分
成绩
一、填空题(25%,1~8 题每题 2 分)
( 装 订 线 内 不 要 答 题 ) 1、 设 W 为一个二维数组,其每个数据元素占用 4 个字节,行下标 i 从 0 到 7 ,列下标 j 从 0 到 3 ,则二维数组 W 的数据元素共占用 个字节。若按行顺序存放二维数组 W,其起 始地址为 100(10 进制),则二维数组元素 W[6,3]的起始地址为 (10 进制表示) 。 答:128, 208。 2、 后缀算式 9 2 3 + - 10 2 / - 的值为__________。中缀算式(3+4X)-2Y/3 对应的后缀算 式为_______________________________。 答:-1, 3 4 X * + 2 Y * 3 / -。
数据结构期末试卷_含答案
三、程序填空题(本题共、链式表表示和实现线性表的部分程序如下,请在程序空白处填上适当的语句://线性表的单链表存储结构typedef struct LNode{线 订 装数据结构与算法A卷答案一、选择题:(本题共20小题,每题2分,共40分)1-5:CA、DBCC 6-10:BDDAB 11-15:AABBA 16-20:CCCBC二、分析运算题(本题共5小题,每题6分,共30 分)1、解答:(1)选链式存储结构。
它可以动态申请内存空间,不受表长度(即表中元素个数)的影响,插入、删除的时间复杂性为O(1);(2)选顺序存储结构。
顺序表可以随机存取,时间复杂性为O(1)。
2.CBADECBAEDCBEDACBDAECBDEA每对一个得1分,全对得6分,写错一个倒扣1分。
3.(3分)先序遍历序列:+-A/×BCD/EF (3分)4.(3分)后序遍历序列为:BHECIGFA D (3分)(1)(2分)(2)(2分)(3)(2分)三、程序填空题(本题共10空,每空2分,共20分)(1)p = L(2)p->next(3)p->next=q->next(4)free(q)(5)NULL或=NULL(6)printf(“%c”,BT->data)(7)Inorder(BT->right)(8) Push(S, exp[i]) 或 Push(S,‘(’)(9) GetTop(S)= ='('(10) Pop(S,e)四、算法设计题(本题共1小题,共10分)1、(10分)算法如下:答:void quickpass(sqlist r){int i=0; j=r.length-1; x=r.elem[0];while(i<j){while(i<j && r.elem[j]>x) j=j-1;if(i<j){r.elem[i]=r.elem[j];i=i+1;} while(i<j && r.elem[i]<x) i=i+1;if(i<j){r.elem[j]=r.elem[i];j=j-1;} }r.elem[i]=x;}。
数据结构期末复习题及答案6
数据结构期末复习题及答案6数据结构期末考试试题及答案期末样卷参考答案⼀.是⾮题(每题1分共10分)1. 线性表的链式存储结构优于顺序存储结构。
F2. 栈和队列也是线性表。
如果需要,可对它们中的任⼀元素进⾏操作。
F3.字符串是数据对象特定的线性表。
T4.在单链表P指针所指结点之后插⼊S结点的操作是:P->next= S ; S-> next = P->next; F5.⼀个⽆向图的连通分量是其极⼤的连通⼦图。
T 6.邻接表可以表⽰有向图,也可以表⽰⽆向图。
T 7.假设B是⼀棵树,B′是对应的⼆叉树。
则B的后根遍历相当于B′的中序遍历。
T8.通常,⼆叉树的第i层上有2i-1个结点。
F9.对于⼀棵m阶的B-树,树中每个结点⾄多有m 个关键字。
除根之外的所有⾮终端结点⾄少有ém/2ù个关键字。
F10.对于任何待排序序列来说,快速排序均快于起泡排序。
F⼆.选择题(每题2分共28分)1.在下列排序⽅法中,(c )⽅法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);(d )⽅法所有情况下时间复杂度均为0(nlogn)。
a. 插⼊排序b. 希尔排序c. 快速排序d. 堆排序2. 在有n个结点的⼆叉树的⼆叉链表表⽰中,空指针数为( b )。
a.不定b.n+1c.nd.n-13. 下列⼆叉树中,(a )可⽤于实现符号不等长⾼效编码。
a.最优⼆叉树b.次优查找树c.⼆叉平衡树d.⼆叉排序树4. 下列查找⽅法中,(a )适⽤于查找有序单链表。
a.顺序查找b.⼆分查找c.分块查找d.哈希查找5. 在顺序表查找中,为避免查找过程中每⼀步都检测整个表是否查找完毕,可采⽤( a )⽅法。
a.设置监视哨b.链表存贮c.⼆分查找d.快速查找6. 在下列数据结构中,(c )具有先进先出特性,(b )具有先进后出特性。
a.线性表b.栈c.队列d.⼴义表7.具有m个结点的⼆叉排序树,其最⼤深度为(f ),最⼩深度为( b )。
数据结构期末试卷-A卷
C.相同ArrayD.不确定4、树最适合用来表示()。
A.有序数据元素B.无序数据元素C.元素之间无联系的数据D.元素之间有分支层次的关系5、最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。
A.(rear+1) MOD n=frontB.rear=frontC.rear+1=frontD.(rear-l) MOD n=front6、若某链表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
A.单链表B.双链表C. 单循环链表D.带头结点的双循环链表7、对称数组A中,每个元素的长度为4个字节,行下标i从1到8,列下标j从1到8。
将其下三角中的元素连续存储在从首地址SA开始的存储器内,该数组按行存放是,则元素A[5][8]的起始地址为()。
A.124B.128C.132D.1368、假设以行序为主序存储二维数组array[100][100],设每个数据元素占2个存储单元,基地址为10,下标从0开始,则元素array[5][5]的地址为()。
A.808B.818C.1010D.10209、插入和删除只能在一端进行线性表,称为()。
A.队列B.循环队列C.栈D.循环栈10、深度为h的二叉树至多有()个节点。
A.2hB.2h-1C.2h-1D.2h-1-111、如果树的的结点A有4个兄弟,而且B为A的双亲,则B的度为A.3B.4C.5D.112、某堆栈的输入序列为a, b,c ,d,下面的四个序列中,不可能是它的输出序列的是()。
A.a,c,b,dB.b, c,d,aC.c, d,b, aD.d, c,a,b13、二叉树按某种顺序线索化后,任一节点均有指向其前驱和后继的线索,这种说法()。
A.正确B.错误C.不确定D.都有可能14、设线性链表中结点的结构为(data,next)。
已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列( )操作。
第1学期《数据结构》期末考试试卷(A卷)
第1 学期《数据结构》期末考试试卷(A卷)一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题后的括号内。
每题2分,共20分)01.以下序列不是堆的是( )。
A. (100,85,98,77,80,60,82,40,20,10,66)B. (100,98,85,82,80,77,66,60,40,20,10)C. (10,20,40,60,66,77,80,82,85,98,100)D. (100,85,40,77,80,60,66,98,82,10,20)02.当采用分快查找时,数据的组织方式为( )A.数据分成若干块,每块内数据有序B.数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C.数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D.数据分成若干块,每块(除最后一块外)中数据个数需相同03.二叉树中序序列为A,B,C,D,E,F,G,后序序列为B,D,C,A,F,G,E 则前序序列是( )A.E,G,F,A,C,D,B B.E,A,C,B,D,G,FC.E,A,G,C,F,B,D D.以上答案都不对04. 有n个叶子的哈夫曼树的结点总数为()。
A.2n-1 B.2n C.2n+1 D.不确定05. 有一个具有n个顶点的连通图生成的最小生成树中,具有( )条边A、nB、n-1C、n+1D、2n-106.下面的二叉树中,()不是平衡二叉树。
A B C D07. 知U=‘xyxyxyxxyxy’;t=‘xxy’;依次执行下列运算后,ASSIGN(S,U);ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(t)+1));ASSIGN(m,‘ww’),则REPLACE(S,V,m)结果为( )。
A.’xyxywwyxy’B.’xyxyxywwy’C.’xyxyxwwxy’D.’xyxywwxyx’.08.设有数组A[i,j],数组的每个元素长度为5字节,i的值为0 到5 ,j的值为0 到6,数组从内存首地址BA开始顺序存放,当用以行为主序存放时,元素A[5,5]的存储首地址为( )。
数据结构期末考试试题(含答案)
数据结构期末考试试题(含答案)数据结构期末考试试题(含答案)第一题:多项式相加(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)。
《数据结构》期末考试试卷附答案
《数据结构》期末考试试卷附答案一、单项选择题(本大题共10小题,每小题3分,共30分)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出队的操作序列为()(A)、p=Q.front->next; p->next= Q.front->next;(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.线索二叉链表是利用()域存储后继结点的地址。
数据结构 期末考试复习试卷一及答案
期末考试复习试卷一一、选择题(本题共30分,每题2分)1. 计算机识别、存储和加工处理的对象被统称为________。
A. 数据B. 数据元素C. 数据结构D. 数据类型2. 已知一栈的进栈序列为:1234,则下列哪个序列为不可能的出栈序列________。
A.1234 B.4321 C.2143 D.41233.链表不具有的特点是________。
A. 随机访问B. 不必事先估计所需存储空间大小C. 插入与删除时不必移动元素D. 所需空间与线性表长度成正比4. 设InitQueue(Q)、EnQueue(Q,e)、DeQueue(Q,e)分别表示队列初始化、入队和出队的操作。
经过以下队列操作后,队头的值是________InitQueue(Q); EnQueue(Q,a); EnQueue(Q,b); EnQueue(Q,c); DeQueue(Q,x)A. aB. bC.NULLD.x5.在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行________。
A.p=q->next; p->next=q->next;free(p);B.p=q->next; q->next=p; free(p);C.p=q->next; q->next=p->next; free(p);D.q->next=q->next->next; q->next=q; free(p);6. 一个顺序表第一个元素的存储地址是100,每个元素占2个存储单元,则第5个元素的地址是________。
A.110 B.108 C.100 D.1207. 在一个长度为n的顺序存储的线性表中,在其第i个位置插入一个新元素时,需要移动元素的次数是________。
A. n-iB. n-i+1C. n-i-1D. i8.下面关于线性表的叙述错误的是________。
《数据结构》课程期末考试试卷(A卷)DAOAN-副本-图文
《数据结构》课程期末考试试卷(A卷)DAOAN-副本-图文浙江财经学院东方学院课程期末考试试卷浙江财经学院东方学院2022~2022学年第一学期密封线《数据结构》课程期末考试试卷(A卷)考核方式:闭卷考试日期:2022年月日适用专业、班级:东方电子商务专业题号得分评卷人一二三(共六大题)四五六总分专业、班级:学号:姓名:说明:(1)请考生将答案写在答题纸上;(2)考试时间120分钟;一、单选题(每题1分,共15分)1、对一个算法的评价,不包括如下()方面的内容。
A.健壮性B.可读性C.正确性D.实用性2执行下面程序段时,语句的执行次数为(D)。
for(inti=l;i<=n;i++)For(intj=1;j<=i;j++)S;A.n2B.N2/2C.n(n+1)D.n(n+1)/23..下面算法的时间复杂度为(B)intf(intn){if(n==0||n==l)return1.Elereturnn某f(n-l);A.O(1)B.O(n)C.O(n2)DO(n!)4、在一个长度为n的顺序存储的线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移(A)个元素。
A.n-iB.n-i+1C.n-i-lD.i5若一个结点的引用为p,在p结点后面插入一个值为某的新结点的操作为(D)。
A.p=newNode(某,p)B.p=newNode(某,p.ne某t)第1页,共7页浙江财经学院东方学院课程期末考试试卷C.p.ne某t=newNode(某,p)D.p.ne某t=newNode(某,p.ne某t)6假定利用数组a顺序存储一个栈,用top表示栈顶指针,top-=-1表示栈空,并已知栈不为空,当退栈并返回栈顶元素时所执行的操作为(B)。
A.returna[--top];B.returna[top--];C.rcturna[++top];D.returna[top++];7若让元素1.2.3依次进栈.则出栈次序不可能出现(C)的情况。
《数据结构》期末考试试卷(含答案)
一、选择题(每小题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。
- 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分)。