成都东软信息技术学院数据结构试题2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都东软信息技术学院
期末试题--数据结构(C语言)
本课程为闭卷考试,试卷共六道大题,试卷满分100分,考试时间120分钟。

一.选择题(10×2分):共10小题,请将答案填入题中的括号中,每小题只有一个正确答案,错选或不选均不给分。

1.组成数据的基本单位是(C )
A.数据项B.数据类型
C.数据元素D.数据变量
2.下面程序段的时间复杂度为(D )。

for(i=0;i<m;i++)
for(j=0;j<n;j++)
A[i][j]=i*j;
A.O(m2) B.O(n2)
C.O(m+n) D.O(m*n)
3.在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n+1)时,需向前移动(A )个元素。

A.n-i B.n-i+1
C.n-i-1 D.i
4.在一个单链表中,已知*q结点是*p结点的前趋结点,若在*q和*p之间插入*s结点,则需执行(B )。

A.s->next=p->next; p->next=s; B.q->next=s; s->next=p;
C.p->next=s->next; s->next=p; D.p->next=s; s->next=q;
5.若让元素a,b,c依次进栈,则出栈次序不可能出现(C )种情况。

A.cba
B.bac
C.Cab D.acb
6.在一个链队列中,假定front和rear分别为队头和队尾指针,则插入*s结点的操作应执行()。

A.front->next=s; front=s; B.s->next=rear; rear=s;
C.rear->next=s; rear=s; D.s->next=front; front=s;
7.当采用顺序存储方式存储队列时,可能出现存储空间剩余,而不允许继续入队的情况,称为()。

A.溢出B.队列不能用顺序存储方式
C.数组存储空间过小D.假溢出
8.一棵深度为k的满二叉树有()个结点。

A.2k -1 B.2k-1
C.2k D.2k
9.一棵完全二叉树的结点按层次遍历从1开始编号,如果编号为m的结点有双亲,则双亲的编号为()。

A.2×m B.m/2
C.m+1 D.m-1
10.快速排序在()情况下最不利于发挥其长处。

A.被排序的数据量很大B.被排序的数据完全无序
C.被排序的数据已基本有序D.被排序的数据中最大的值与最小值相差不大
二.填空题(30分):每空2分,
1. 数据的逻辑结构被分为、、和线性表。

2.在一个长度为n的顺序表中删除一个元素,最少需移动______个元素,最多需移动_____个元素。

3.对于一个顺序栈作进栈运算时,应先判断栈是否为_______,判断的条件是__________。

4.栈的原则是_________。

5.在一棵二叉树上第5层的结点数最多为_________。

6.设一颗完全二叉树共有50个叶子结点,则它共有_______个度为2的结点。

7.在一个具有n个顶点的无向完全图中,包含有______条边,在一个具有n个顶点的有向完全图中,包含有_________条边。

三.判断题(5×2分)
1.完全二叉树未必是满二叉树。

( )
2.线性表中的每个元素都有一个前驱元素和后继元素。

( )
3.二叉排序树采用先序遍历可以得到结点的有序序列。

( )
4.采用顺序结构存储线性表时,其地址可以是不连续的。

( )
5.一个有序的单链表不能采用折半查找法进行查找。

( )
四.应用题(20分)
1. 画出带头结点的单链表、单循环链表和双向循环链表的示意图,并归纳三者的不同之处。

(9分)
2. 对于给定的一组关键码:83,40,63,13,84,35,画出用简单选择排序对上述序列进行操作的各趟结果。

(5分)
3. 给出下图所示的二叉树的先序、中序、后序的遍历结果。

(6分)
五.算法设计题(20分)
1.有顺序表A和B,其元素均按从小到大的升序排列,编写一个算法将它们合并成一个顺序表C,要求C的元素也是从小到大升序排列。

要求写出完整代码。

(12分)
2.写出折半查找的算法,并回答其使用的局限性。

(8分)。

相关文档
最新文档