11-12学年2学期电子信息工程《数据结构》期中试卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11-12学年2学期电⼦信息⼯程《数据结构》期中试卷
11-12学年2学期电⼦信息⼯程《数据结构》期中试卷
答题纸上只写班级姓名学号及每题答案。
1、单项选择题(本⼤题共30⼩题,每⼩题1分,共30分)
在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其代码填写在题后的括号内。
错选、多选或未选均⽆分。
1.数据的不可分割的最⼩标识单位是()
A.数据项
B.数据记录
C.数据元素
D.数据变量
2.for(i=0;ifor(j=0;jc[i][j]=0;
for(i=0;ifor(j=0;jfor(k=0;kc[i][j]=c[i][j]+a[i][k]*b[k][j];
上列程序的时间复杂度为()
A.O(m+n×t)
B.O(m+n+t)
C.O(m×n×t)
D.O(m×t+n)
3.若线性表最常⽤的操作是存取第i个元素及其前趋的值,那么最节省操作时间的存储⽅式是()
A.单链表
B.双链表
C.单循环链表
D.顺序表
4.设单链表中指针p指向结点A,要删除A之后的结点(若存在),则修改指针的操作为()
A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p—>next=p
5.向⼀个栈顶指针为hs的链栈中插⼊⼀个*s结点时,应执⾏的操作为()
A.hs—>next=s;
B.s—>next=hs;hs=s;
C.s—>next=hs—>next;hs—>next=s;
D.s—>next=hs;hs=hs—>next;
6.设循环队列的元素存放在⼀维数组Q[0‥30]中,队列⾮空时,front指⽰队头元素的前⼀个位置,rear指⽰队尾元素。
如果队列中元素的个数为11,front的值为25,则rear应指向的元素是()
A.Q[4]
D.Q[15]
7.定义⼆维数组A[1‥8,0‥10],起始地址为LOC,每个元素占2L个存储单元,在以⾏序为主序的存储⽅式下,某数据元素的地址为LOC+50L,则在以列序为主序的存储⽅式下,该元素的存储地址为()
A.LOC+28L
B.LOC+36L
C.LOC+50L
D.LOC+52L
8.具有n个结点的⼆叉树,拥有指向孩⼦结点的分⽀数⽬是()
A.n-1
B.n
C.n+1
D.2n
9.对⼀棵有100个结点的完全⼆叉树按层序编号,则编号为49的结点,它的左孩⼦的编号为()
A.99
B.98
C.97
D.50
10.有m个叶⼦结点的哈夫曼树,其结点总数是()
A.2m-1
B.2m
C.2m+1
D.2(m+1)
11.有n个结点的⽆向图的边数最多为()
A.n+1
B.n(n-1)/2
C.n(n+1)
D.2n(n+1)
12.设图的邻接矩阵为,则该图为()
A.有向图
B.⽆向图
C.强连通图
D.完全图
13.⼆分查找算法的时间复杂度是()
B.O(nlog2n)
C.O(n)
14.已知8个元素(34,76,45,18,26,54,92,65),按照依次插⼊结点的⽅法⽣成⼀棵⼆叉排序树,则该树的深度为()
A.4
B.5
C.6
D.7
15.采⽤排序算法对n个元素进⾏排序,其排序趟数肯定为n-1趟的排序⽅法是()
A.插⼊和快速
B.冒泡和快速
C.选择和插⼊
D.选择和冒泡
16.从逻辑上可以把数据结构分为()
A.动态结构、静态结构
B.顺序结构、链式结构
C.线性结构、⾮线性结构
D.初等结构、构造型结构
17.关于算法的描述,不正确的是()
A.算法最终必须由计算机程序实现
B.所谓时间复杂度是指最坏情况下,估算算法执⾏时间的⼀个上界
C.健壮的算法不会因⾮法的输⼊数据⽽出现莫名其妙的状态
D.算法的优劣与算法描述语⾔⽆关
18.在单链表中,存储每个结点需要有两个域,⼀个是数据域,另⼀个是指针域,指针域指向该结点的()
A.直接前趋
B.直接后继
C.开始结点
D.终端结点
19.将两个各有n个元素的有序表合并成⼀个有序表,其最少的⽐较次数为()
A.n
B.2n-1
C.2n
D.n2
20.栈和队列共同具有的特点是()
A.都是先进后出
B.都是先进先出
C.只允许在端点进⾏操作运算
D.既能先进先出,也能先进后出
21.若⽤⼀个有6个单元的数组来实现循环队列,rear和front的初值分别为0和3。
则从队列中删除⼀个元素,再添加两个元素后,rear和front的值分别为()
A.1和5
B.2和4
C.4和2
D.5和1
22.数组A[0..5][0..5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元素A[5][5]的地址是()
A.1175
B.1180
C.1205
D.1210
23含有n个结点的⼆叉树采⽤⼆叉链表存储时,空指针域的个数为()
A.n-1
B.n
C.n+1
D.n+2
24.在⼀棵深度为H的完全⼆叉树中,所含结点的个数不少于()
A.2H-1-1
B.2H-1
C.2H-1
D.2H
25.⼀个具有n个顶点的⽆向连通图,它所包含的连通分量数为()
A.0
B.1
C.n
D.不确定
26.下列说法中不正确的是()
A.⽆向图的极⼤连通⼦图称为连通分量
B.连通图的⼴度优先搜索中⼀般要采⽤队列来暂存刚访问过的顶点
C.连通图的深度优先搜索中⼀般要采⽤栈来暂存刚访问过的顶点
D.有向图的遍历不可采⽤⼴度优先搜索算法
27.对⼀棵⼆叉排序树采⽤中根遍历进⾏输出的数据⼀定是()
A.递增或递减序列
B.递减序列
C.⽆序序列
D.递增序列
28.⼀个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当⼆分查找值为82的结点时,查找成功时的⽐较次数为()
A.1
B.2
C.4
D.8
29.线性表采⽤链式存储结构时,要求内存中可⽤存储单元的地址( )
A.必须是连续的
B.必须是部分连续的
C.⼀定是不连续的
D.连续和不连续都可以
30.设顺序表有19个元素,第⼀个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为( )
A.236
B.239
C.242
D.245
⼆、填空题(本⼤题共15⼩题,每⼩题2分,共30分)
请在每⼩题的空格中填上正确答案。
错填、不填均⽆分。
1.在任何问题中,数据元素都不是孤⽴的,它们之间总存在某种关系,通常称这种关系为数据结构。
2.存储结点之间通常有四种基本存储⽅式,即顺序存储⽅式、索引存储⽅式、__链式存储⽅式______和散列存储⽅式。
3.在⼀个长度为n的顺序表中第i个元素(1≤i≤n)之前插⼊⼀个元素时,需向后移动_n-i_______个元素。
4.对⼀棵深度为10的满⼆叉树按层编号,则编号为51的结点,它的双亲结点编号为_25_______。
5.⽤S表⽰⼊栈操作,X表⽰出栈操作,若元素⼊栈顺序为1234,为了得到1342的出栈顺序,相应的S和X操作串为
________。
6.具有n个叶⼦结点的哈夫曼树,其结点总数为2n-1________。
7.⼀棵具有n个结点的树,所有⾮终端结点的度均为k,则该树中叶⼦结点个数为________。
8.在⽆向图G的邻接矩阵A中,若A[i][j]等于0,则A[j][i]等于________。
9、两个串是相等的,当且仅当两个串的长度相等且包含的字符都相同。
10.某⼆叉树的后根遍历序列为abd,中根遍历序列为adb,则它的先根遍历序列为_bad_______。
11.先在所有的记录中选出键值最⼩的记录,将它与第⼀个记录交换;然后在其余的记录中再选出最⼩的记录与第⼆个记录交换,依此类推,直⾄所有记录排序完成。
这种排序⽅法称为________。
12.对含有n个结点e条边的⽆向连通图,利⽤prim算法⽣成最⼩⽣成树的时间复杂度为________。
13.对n个元素进⾏冒泡排序时,最少的⽐较次数为________。
14.数据的存储结构通常包括顺序结构、_链式___________结构。
15、在⼀棵⼆叉排序树上按_⼴度___________遍历得到的结点序列是⼀个有序序列。
三、应⽤题(本⼤题共5⼩题,每⼩题10分,共30分)
1、已知带权图的邻接表如下所⽰,其中边表结点的结构为:
依此邻接表从顶点C出发进⾏深度优先遍历。
(1)画出此图;
(2)写出深度优先遍历序列。
2、名词解释:
(1)哈希表
(2)冲突
(3)动态查找
3、写出前、中、后序遍历序列
四、简答题(本⼤题共10分)
简述数据结构和编程的关系。