数据结构期末考试试题答案详解.docx
《数据结构期末考试试题答案详解.docx》由会员分享,可在线阅读,更多相关《数据结构期末考试试题答案详解.docx(21页珍藏版)》请在冰豆网上搜索。
数据结构期末考试试题答案详解
《数据结构》试题(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)120
5.链接存储的存储结构所占存储空间:
()
(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)BCDEFEF
11.假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为。
(无第0行第0列元素)()
(A)16902(B)16904(C)14454(D)答案A,B,C均不对
12.二叉树是非线性数据结构,所以。
()
(A)它不能用顺序存储结构存储;(B)它不能用链式存储结构存储;
(C)顺序存储结构和链式存储结构都能存储;
(D)顺序存储结构和链式存储结构都不能使用
13.具有n(n>0)个结点的完全二叉树的深度为。
()
(A)log2(n)(B)log2(n)(C)log2(n)+1(D)log2(n)+1
14.把一棵树转换为二叉树后,这棵二叉树的形态是。
()
(A)唯一的(B)有多种
(C)有多种,但根结点都没有左孩子(D)有多种,但根结点都没有右孩子
15.已知图的邻接表如下所示,则从顶点0出发按深度优先遍历的结点序列是
()
(A)0132(B)2031(C)1320(D)0123
16.已知图的邻接表如下所示,根据算法,则从顶点0出发按广度优先遍历的结点序列是
()
(A)0321(B)1230(C)3210(D)3012
17.折半查找有序表(4,6,10,12,20,30,50,70,88,100)。
若查找表中元素58,则它将依次与表中比较大小,查找结果是失败。
()
(A)20,70,30,50(B)30,88,70,50(C)20,50(D)30,88,50
18.链表是一种采用存储结构存储的线性表。
()
(A)顺序(B)链式(C)星式(D)网状
19.不含任何结点的空树。
()
(A)不是一棵树;(B)不是一棵二叉树;
(C)是一棵树也是一棵二叉树;(D)既不是树也不是二叉树
20.在一个图中,所有顶点的度数之和等于图的边数的倍。
()
A.1/2B.1C.2D.4
得分
评卷人
二、试题类型:
判断题(每小题1分,共10分)
(类型说明:
判断正确答案,选项并在“答题卡”的相应位置填涂,认为正确的涂“A”错误的涂“B”。
多涂、少涂、错误均无分。
)
21.二叉树中每个结点的两棵子树是有序的。
()
22.顺序存储方式只能用于存储线性结构。
()
23.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
()
24.栈和队列的存储方式既可是顺序方式,也可是链接方式。
()
25.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
()
26.队列是一种先进后出型结构。
()
27.一个栈的输入序列是12345,则栈的输出序列不可能是12345。
()
28.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
()
29.线性表在物理存储空间中也一定是连续的。
()
30.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。
()
第II卷
得分
评卷人
三、试题类型:
填空题(每空1分,共10分)
(类型说明:
请将正确答案填于试题预留的横线上。
)
31.栈是一种特殊的线性表,允许插入和删除运算的一端称为。
不允许插入和删除运算的一端称为。
32.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动个元素。
33.向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动个元素。
34.假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。
已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为;末尾元素A57的第一个字节地址为;若按行存储时,元素A14的第一个字节地址为;若按列存储时,元素A47的第一个字节地址为。
35.设S=“A;/document/Mary.doc”,则strlen(s)=,“/”的字符定位的位置为。
得分
评卷人
四、试题类型:
简答题(每小题5分,共30分)
(类型说明:
)
36.已知二维数组Am,m采用按行优先顺序存放,每个元素占K个存储单元,并且第一个元素的存储地址为Loc(a11),请写出求Loc(aij)的计算公式。
37.用三元组表表示下列稀疏矩阵:
38.试写出如图所示的二叉树分别按先序、中序、后序遍历时得到的结点序列。
39.把如图所示的树转化成二叉树。
40.已知如图所示的有向图,请给出该图的邻接表。
41.请对下图的无向带权图,求其最小生成树;
得分
评卷人
五、试题类型:
分析题(每小题5分,共5分)
(类型说明:
)
42.已知一组关键字序列:
493865971327
按照快速排序方法对此序列进行排序,写出每趟排序的结果。
得分
评卷人
六、试题类型:
编程题(每小题5分,共5分)
(类型说明:
)
43.设顺序表va中的数据元素递增有序。
试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
顺序表的存储结构如下:
typedefstruct{
ElemType*elem;//指向存放线性表中数据元素的基地址
intlength;//线性表的当前长度
intlistsize;//当前分配的存储容量
}SqList;
StatusInsertSqList(SqList&va,intx)//把x插入递增有序表va中
{ if(va.length+1>va.listsize)returnERROR;
《数据结构》A卷信管本科专业标准答案及评分标准(按试题顺序排列)
一、单项选择题(每小题2分,共40分)
1、A2、C3、C4、B5、A
6、D7、B8、C9、B10、D
11、A12、C13、C14、A15、D
16、A17、A18、B19、C20、C
二、判断题(每小题1分,共10分)
21.A22.B23.B24.A25.B26.B27.B28.A29.B30.B
三、填空题(每空1分,共10分)
31.栈顶栈底
32.n-i+1
33.n-i
34.288B128210721276
35.203
四、简答题(每小题5分,共30分)
36.Loc(aij)=Loc(a11)+[(i-1)*m+(j-1)]*K
6
6
4
1
6
-2
2
5
9
4
3
5
6
5
3
37.
38.
先序:
ABDFJGKCEHILM---------2分
中序:
BFJDGKACHELIM----------2分
后序:
JFKGDBHLMIECA----------1分
39.
40.
41.
五、试题类型:
分析题(每小题5分,共5分)
42.初始序列:
493865971327
第一趟排序结果:
273813499765
第二趟排序结果:
132738496597
六、试题类型:
编程题(每小题5分,共5分)
43. va.length++;
for(i=va.length-1;va.elem[i]>x&&i>=0;i--)
va.elem[i+1]=va.elem[i];
va.elem[i+1]=x;
returnOK;}
《数据结构》试题(100分)
(供2005级信息管理与信息系统本科专业使用)
学号:
姓名:
座号:
系别:
年级:
专业:
题号
一
二
三
四
五
六
七
八
总计
得分
总分合计人:
复核人:
说明:
本试卷分为两部分,第I卷(选择题和判断题)必须在“答题卡”上按规定要求填、涂;第II卷直接在试卷上作答。
不按规定答题、填涂,一律无效。
第I卷
得分
评卷人
一、试题类型:
单项选择题(每小题2分,共40分)
(类型说明:
在每小题列出的四个选项中只有一个选项是符合题目要求的,请选出正确选项并在“答题卡”的相应位置上涂黑。
多涂、少涂、错误均无分。
)
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.一个向量第一个元素的存储地址是500,每个元素的长度为2,则第10个元素的地址是。
()
(A)510(B)508(C)518(D)520
7.在n个结点的顺序表中,算法的时间复杂度是O
(1)的操作是。
()
(A)访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
(B)在第i个结点后插入一个新结点(1≤i≤n)
(C)删除第i个结点(1≤i≤n)
(D)将n个结点从小到大排序
8.线性表若采用链式存储结构时,要求内存中可用存储单元的地址。
()
(A)必须是连续的(B)部分地址必须是连续的
(C)一定是不连续的(D)连续或不连续都可以
9.线性表L在情况下适用于使用链式结构实现。
()
(A)需经常修改L中的结点值(B)需不断对L进行删除插入
(C)L中含有大量的结点(D)L中结点结构复杂
10.栈中元素的进出原则是。
()
(A)先进先出(B)后进先出(C)栈空则进(D)栈满则出
11.若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为。
()
(A)i(B)n=i(C)n-i+1(D)不确定
12.设有两个串p和q,求q在p中首次出现的位置的运算称作。
()
(A)连接(B)模式匹配(C)求子串(D)求串长
13.串是一种特殊的线性表,其特殊性体现在。
()
(A)可以顺序存储(B)数据元素是一个字符
(C)可以链式存储(D)数据元素可以是多个字符
14.假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为。
(无第0行第0列元素)()
(A)16902(B)16904(C)17262(D)答案A,B,C均不对
15.二叉树是非线性数据结构,所以。
()
(A)它不能用顺序存储结构存储;(B)它不能用链式存储结构存储;
(C)顺序存储结构和链式存储结构都能存储;(D)顺序存储结构和链式存储结构都不能使用
16.具有n(n>0)个结点的完全二叉树的深度为。
()
(A)log2(n)(B)log2(n)(C)log2(n)+1(D)log2(n)+1
17.对22个记录的有序表作折半查找,当查找失败时,至少需要比较次关键字。
()
(A)3(B)4(C)5(D)6
18.链表适用于查找。
()
(A)顺序(B)二分法(C)顺序,也能二分法(D)随机
19.堆的形状是一棵。
()
(A)二叉排序树(B)满二叉树(C)完全二叉树(D)平衡二叉树
20.下列关键字序列中,是堆。
()
(A)16,72,31,23,94,53(B)94,23,31,72,16,53
(C)16,53,23,94,31,72(D)16,23,53,31,94,72
得分
评卷人
二、试题类型:
判断题(每小题1分,共10分)
(类型说明:
判断正确答案,选项并在“答题卡”的相应位置填涂,认为正确的涂“A”错误的涂“B”。
多涂、少涂、错误均无分。
)
21.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
()
22.顺序存储方式只能用于存储线性结构。
()
23.线性表的逻辑顺序与存储顺序总是一致的。
()
24.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
()
25.一个栈的输入序列是12345,则栈的输出序列不可能是12345。
()
26.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
()
27.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
()
28.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中
有n+1个为空指针。
()
29.二叉树中每个结点的两棵子树是有序的。
()
30.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,
且小于其右非空子树(若存在的话)所有结点的关键字值。
()
第II卷
得分
评卷人
三、试题类型:
填空题(每小题1分,共20分)
(类型说明:
请将正确答案填于试题预留的横线上。
)
31.数据结构被形式地定义为(D,R),其中D是数据元素的有限集合,R是D上的有限集合。
32.数据结构包括数据的逻辑结构、数据的存储结构和数据的这三个方面的内容。
33.数据结构按逻辑结构可分为两大类,它们分别是线性结构和。
34.线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在关系。
35.在中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。
36.在中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结点没有后续结点,其余每个结点的后续结点数可以任意多个。
37.在图形结构中,每个结点的前驱结点数和后续结点数可以。
38.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和。
39.一个算法的效率可分为效率和空间效率。
40.设要将序列(Q,H,C,Y,P,A,M,S,R,D,F,X)中的关键码按字母序的升序重新排列,则冒泡排序一趟扫描的结果是。
41.在数据的存放无规律而言的线性表中进行检索的最佳方法是。
42.线性有序表(a1,a2,a3,…,a256)是从小到大排列的,对一个给定的值k,用二分法检索表中与k相等的元素,在查找不成功的情况下,最多需要检索次。
43.假设在有序线性表a[20]上进行折半查找,平均查找长度为。
44.散列法存储的基本思想是由决定数据的存储地址。
45.有8个结点的无向连通图最少有条边。
46.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的倍。
47.在一个图中,所有顶点的度数之和等于图的边数的倍。
48.在具有n个单元的循环队列中,队满时共有个元素。
49.栈是一种特殊的线性表,允许插入和删除运算的一端称为。
50.是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。
得分
评卷人
四、试题类型:
综合题(每小题5分,共25分)
(类型说明:
)
51.请对下图的无向带权图,写出它的邻接矩阵,并按普里姆算法求其最小生成树;
52.写出下图AOE-网的关键路径。
53.写出下图的拓扑排序序列。
54.已知某二叉树的中序遍历序列结点序列是BFJDGKACHELIM、后序遍历结点序列JFKGDBHLMIECA是,试写出其先序遍历结点序列并画出此二叉树。
55.下图是某树的二叉树表示法,试画出此树。
A
B
EC
KFHD
LGI
MJ
得分
评卷人
五、试题类型:
编程(每小题5分,共5分)
(类型说明:
)
56.已知11个元素的有序表为(0513192137566475808892),请写出折半查找的算法程序,查找关键字为key的数据元素。
《数据结构》B卷信管本科专业标准答案及评分标准(按试题顺序排列)
一、单项选择题(每小题2分,共40分)
1.B2.C3.A4.C5.C
6.C7.A8.D9.B10.B
11.C12.B13.B14.C15.C
16.C17.C18.A19.C20.D
二、判断题(每小题1分,共10分)
21.B22.B23.B24.A25.B26.A27.B28.A29.A30.B
三、填空题(每小题1分,共20分)
31.关系
32.运算
33.非线性结构
34.多对多
35.线性结构
36.树形结构
37.任意多个
38.散列
39.时间
40.HCQPAMSRDFXY
41.顺序查找(线性查找)
42.8
43.3.7
44.关键字的值
45.7
46.1
47.2
48.n-1
49.栈顶
50.队列
四、综合题(每小题5分,共25分)
51.
52.有两条关键路径(v1,v2,v5,v7,v9)和(v1.v2.v5.v8.v9),写出一种即可。
53.拓扑排序序列
最小生成树→
有(v5,v1,v3,v4,v2,v6),(v1,v5,v3,v4,v2,v6),(v1,v4,v2,v5,v3,v6)等,写出一种即可。
54.
DLR:
ABDFJGKCEHILM
55.
五、试题类型:
编程(每小题5分,共5分)
56.解:
折半查找的一个递归算法如下:
intSearch_Bin_Recursive(SSTableST,intkey,intlow,inthigh)//折半查找的递归算法
{
if(low>high)return0;
mid=(