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

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

计算机学院数据结构与算法分析期末试题答案一、单项选择题(每小题2 分,共20分)1.在下面给出的链式存储结构中,能在O(1)时间内完成在指定结点p之前插入元素x 的结构是为()。
A)单向链表B)单向循环链表C)带表头的单向链表D)双向循环链表参考答案:D)2.栈应用的典型事例是()。
A)排队B)查找C)归并D)用“算符优先法”进行表达式求值参考答案:D)3.一般情况下,将递归算法转换成等价的非递归算法应该设置()。
A)栈B)队列C)堆栈或队列D)数组参考答案:A)4.()是C语言中"abcd32lABCD"的子串。
A)abed B)d2lAB C)"abcABC" D)"21AB"参考答案:D)5.有一矩阵为A[-3:1,2:6],每个元素占一个存储单元,存储的首地址为100,以行序为主,则元素a-1,4的地址为()。
A)111 B)112 C)113 D)125参考答案:B)6.从L=((apple,pear),(banana,orange))中,取出pear元素的表达式为()。
A)head(tail(L)) B)head(head(tail(L)))C)tail(head(tail(L))) D)head (tail (head(L)))参考答案:D)7.若一个具有N个顶点,K条边的无向图是一个森林(N>K),则该森林中必有()棵树。
A)K B)N C)N-K D)1【分析】因为一棵具有n个顶点的树有n-1条边,因此设此森林中有m棵树,每棵树具有的顶点数为v i(l≤i≤m),则:v1+v2+…+v m=N (1)(v1-1)+(v2-1)+…+(v m-1)=K (2)由(1)-(2)可知N-K为森林所含树的棵数。
参考答案:C)8.采用分块查找时,如某线性表中共有256个元素,查找每个元素的概率相同,假设采用顺序查找来确定元素所在的块,则每块包含()个结点时,平均查找长度最小。
《数据结构》期末考试试卷试题及答案

《数据结构》期末考试试卷试题及答案一、选择题(每题5分,共20分)1. 下列哪个不是线性结构?A. 栈B. 队列C. 图D. 数组2. 下列哪个不是栈的基本操作?A. 入栈B. 出栈C. 查找D. 判断栈空3. 下列哪个不是队列的基本操作?A. 入队B. 出队C. 查找D. 判断队列空4. 下列哪个不是图的基本概念?A. 顶点B. 边C. 路径D. 环二、填空题(每题5分,共20分)5. 栈是一种______结构的线性表,队列是一种______结构的线性表。
6. 图的顶点集记为V(G),边集记为E(G),则无向图G=(V(G),E(G)),有向图G=(______,______)。
7. 树的根结点的度为______,度为0的结点称为______。
8. 在二叉树中,一个结点的左子结点是指______的结点,右子结点是指______的结点。
三、简答题(每题10分,共30分)9. 简述线性表、栈、队列、图、树、二叉树的基本概念。
10. 简述二叉树的遍历方法。
11. 简述图的存储结构及其特点。
四、算法题(每题15分,共30分)12. 编写一个算法,实现栈的入栈操作。
13. 编写一个算法,实现队列的出队操作。
五、综合题(每题20分,共40分)14. 已知一个无向图G=(V,E),其中V={1,2,3,4,5},E={<1,2>,<1,3>,<2,4>,<3,4>,<4,5>},画出图G,并给出图G的邻接矩阵。
15. 已知一个二叉树,其前序遍历序列为ABDCE,中序遍历序列为DBACE,请画出该二叉树,并给出其后序遍历序列。
答案部分一、选择题答案1. C2. C3. C4. D二、填空题答案5. 后进先出先进先出6. V(G),E(G)7. 0 叶结点8. 左孩子右孩子三、简答题答案9. (1)线性表:一个线性结构,其特点是数据元素之间存在一对一的线性关系。
数据结构期末考试试题和标准答案及评分标准

《数据结构》试题(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.采用线性探测法解决冲突问题,所产生的一系列后继散列地址必须大于等于原散列址。
西北民族大学数计院数据结构B期末考试题

得 分 评卷人 三、操作题(每小题 5 分,共 20 分) 1.已知树T的前序遍历序列为: ABDEHCFG,中序遍历序列为:DBHEAFGC 。请画出树T,并写出前序序列。 [能力层次:综合运用];[难易度: D ]
2.对于下边有向图 (1)画出其邻接表 (2)给出二种不同的拓扑序列 [能力层次:简单运用];[难易度: D
(1) (2) 二种拓扑序列为: 1:A B C E D 2: A C B E D 3.(1)平方探测再散列解决冲突时所构造的散列表如下: 0 1 2 3 4 5 6 7 8 9 33 ① 11 ② 3 ③ 36 ① 81 ① 16 ① 7 ③ 18 ① 40 ② 8 ②
10
(2)平均查找长度ASL=(1×5+2×3+3×2)/10=1.7 4. (1)邻接矩阵: (2)Prim最小生成树 四、算法阅读(每小题5分,共10分) 1. i<n R[j+1].key <R[j].key R[j]=R[0] exchange=1 return 2. p p->key==e p=p->rchild BSTNode * >lchild=p 五.算法设计题(本大题共10分) 1. 算法如下: void insert(ListNode *L,DataType x) { ListNode *p=L, *s; s=(ListNode *)malloc(sizeof(ListNode)); s->data=x; while (p->next!=NULL && p->next->data<x) p=p->next; s->next=p->next; p->next=s;
3.数据结构按逻辑结构可分为两大类,它们是线性结构和 _________________。 [能力层次:简单运用 ];[难易度: C ] 4.栈是限定在_____________进行插入和删除操作的线性表。 [能力层次: 理解 ];[难易度: C ] 5.串是一种特殊的线性表,它的每一个结点仅由__________字符组 成。 [能力层次:简单运用 ];[难易度: C ] 6.在n个结点的线索二叉链表中,有( )个线索指 针。 [能力层次: 理解 ];[难易度: C ] 7.由一棵二叉树的后序序列和_____________序列可唯一确定这棵二叉 树。 [能力层次:理解 ];[难易度: C ] 8.对关键字序列(50,80,63,44,48,91)进行一趟快速排序之后得到的结 果为_____________。 [能力层次:简单运用 ];[难易度: C ] 9.由10000个结点构成的二叉排序树,在等概率查找的假设下,查找成 功时的平均查找长度的最大值可能达到_____________。 [能力层次:简单运用];[难易度: C ] 10.带有一个头结点的单链表head为空的条件是_____________。 [能力层次: 理解 ];[难易度:B ] 11.在一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动 _____________个元素。 [能力层次:简单运用]];[难易度: B ] 12.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若 按行序为主存储序,则A[i][j]对应的S中的存储位置是 _____________。 [能力层次:简单运用] ];[难易度:C ] 13.深度为k的完全二叉树最多有_____________个结点。 [能力层次:理解];[难易度: C ] 14. 哈希函数一般是________对一的函数。 [能力层次:理解];[难易度: C ]
《数据结构》期末考试试题及答案

《数据结构》期末考试试题及答案一、选择题(每题2分,共20分)1. 下列哪一个不是线性结构的基本特征?A. 有且只有一个根结点B. 每个结点最多有一个前驱和一个后继C. 有且只有一个叶子结点D. 有序对中第一个元素是根结点答案:C2. 在单链表中,存储元素的数据域称为元素的哪个部分?A. 指针域B. 数据域C. 结点域D. 头结点答案:B3. 在顺序存储结构中,数据元素之间的逻辑关系由哪个因素决定?A. 数据元素的存储顺序B. 数据元素的存储位置C. 数据元素的类型D. 数据元素的大小答案:A4. 下列哪种排序算法的时间复杂度不是O(nlogn)?A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D5. 在二叉树中,具有度为2的结点的个数是n0,度为0的结点个数是n2,则有()。
A. n0 = n2 - 1B. n0 = n2 + 1C. n0 = n2D. n0 = n2 + 2答案:B6. 在线索二叉树中,哪个结点被称为线索结点?A. 有左子树的结点B. 有右子树的结点C. 既没有左子树也没有右子树的结点D. 具有左右子树的结点答案:C7. 在双向链表中,查找结点的时间复杂度是()。
A. O(1)B. O(n)C. O(nlogn)D. O(n^2)答案:B8. 在栈的操作中,下列哪个操作是非法的?A. 先进先出B. 后进先出C. 可以插入任意元素D. 可以删除任意元素答案:D9. 在顺序表中进行插入操作时,平均移动次数为()。
A. 0B. n/2C. nD. n-1答案:C10. 在下列排序算法中,哪个算法是不稳定的?A. 冒泡排序B. 快速排序C. 插入排序D. 归并排序答案:B二、填空题(每题2分,共20分)1. 线性表的顺序存储结构称为顺序表,其基本特点是()。
答案:元素顺序存储2. 在单链表中,每个结点包括两个域:数据域和()。
答案:指针域3. 在二叉树中,度为0的结点称为(),度为2的结点称为()。
数据结构期末试卷及参考答案B

《数据结构》试卷(B)学号:姓名:日期:一.选择题(每小题2分,共30分,请写在答卷纸上):1.下面程序的时间复杂为()。
for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}A.O(n)B.O(n2)C.O(n3)D.O(n4)2.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02,06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。
A.线性结构B.树型结构C.物理结构D.图状结构3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。
A.q=p->next;p->data=q->data;p->next=q->next;free(q);B.q=p->next;q->data=p->data;p->next=q->next;free(q);C.q=p->next;p->next=q->next;free(q);D.q=p->next;p->data=q->data;free(q);4.栈和队列的共同特点是( )。
A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点5.设某棵二叉树的中序遍历序列为ABCD,先序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A.BADCB.BCDAC.CDABD.CBDA6.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。
数据结构期末考试题及答案

数据结构期末考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 算法程序的长度B. 算法执行时所需要的基本运算次数C. 算法程序中的语句数D. 算法程序中的指令数答案:B2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。
A. 插入和删除操作快B. 存储密度高C. 存储空间可以动态申请D. 存储空间可以预先分配答案:D3. 在一个长度为n的顺序表中,采用二分查找法查找第k小的元素,最坏情况下需要比较的次数是()。
A. nB. n/2C. log2(n+1)D. log2n答案:D4. 一个栈的入栈序列为1, 2, 3, 4, 5,下列序列中哪一个不可能是栈的输出序列()。
A. 5, 4, 3, 2, 1B. 3, 2, 4, 1, 5C. 5, 4, 2, 3, 1D. 1, 2, 5, 3, 4答案:D5. 在二叉树的前序遍历、中序遍历和后序遍历中,根节点总是()。
A. 第一个被访问B. 第二个被访问C. 第三个被访问D. 最后一个被访问答案:A6. 在一个有n个顶点的无向图中,其边的最大数量是()。
A. n(n-1)/2B. n(n+1)/2C. n^2D. 2n答案:A7. 哈夫曼编码是一种()。
A. 静态编码B. 动态编码C. 无损编码D. 有损编码答案:C8. 一个图的邻接矩阵表示法中,若顶点i到顶点j有一条边,则矩阵的第i行第j列的元素为()。
A. 1B. 0C. 边的权重D. 顶点j的度数答案:C9. 在数据库中,关系模式R(U, F),其中U={A, B, C, D},F={(A, B)→C, C→D},下列哪个关系模式是R的候选键()。
A. {A, B}B. {A, C}C. {B, C}D. {C, D}答案:A10. 快速排序算法的平均时间复杂度是()。
A. O(n^2)B. O(nlogn)C. O(n^3)D. O(n)答案:B二、填空题(每题2分,共20分)1. 在数据结构中,递归算法的时间复杂度通常可以用______来描述。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广州轻工职业学校(大源校区)试卷用纸 第 1 页,共 1 页
专 班级 姓名 学号
注意:广州轻工职业学校(大源校区)
2015-2016学年第二学期《数据结构》期末考试试卷(B 卷)
注 意 事 项
1、请首先按要求在试卷的标封处填写您的专业、姓名、学号和所在的班级名称;
2、请仔细阅读各种题目的回答要求,在规定的位置填写您的答案;
3、不要在试卷上乱写乱画,不要在标封区填写无关内容。
使用对象:15计算机设计班 考试时间:45分钟 考试方式:考查
一、名词解释题(每小题5分,共35分):
1. 顺序映像
2. 链式映像
3. 数据对象
4. 数据结构
5. 数据类型
6. 抽象数据类型
7. 算法
二、简答题(每小题10分,共30分):
1. 数据元素与数据项有什么关系?
2. ADT 的特性有哪些?
3. 算法的特性有哪些?
三、论述题(共15分):
在设计算法时,什么样的算法才是好的算法?
四、项目设计题(共20分):
农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N 块木头,每块木头长度为整数L 个长度单位。
于是他购买了一条很长的、能锯成N 块的木头,即该木头的长度是L 的总和。
但是农夫自己没有锯子,请人锯木头的酬金跟这段木头的长度成正比。
为简单起见,不妨设酬金等于所锯木头的长度。
例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头将木头锯成12和8,花费20;第二次锯木头将长度为12的木头锯成
7和5花费12,总花费32.如果第一次将木头锯成15和5,则第二次锯木头花费15,总花费35(大于32).
请设计农夫将木头锯成N 块的最少花费。