数据结构题目A卷
- 格式:docx
- 大小:23.56 KB
- 文档页数:5
数据结构题目A卷
2004——2005学年第一学期期末考试
《数据结构》试卷A卷
适用班级:A2981、电A0311、12、A0321、22、机A0311、信A0311、12、13、材A0311、理A0311、土A0311、12、化A0311
注:1.请考生将试题答案写在答题纸上,在试卷上答题无效。
2.凡在答题纸密封线以外有姓名、班级学号、记录的,以作弊论。
一、选择题(每题1分,共15分)
1.数据结构被形式化地定义为(D,R),其中,D是数据元素的有限集合,R是D上的()有限集合。
A.操作
B.关系
C.存储
D.映像
2. 下面程序段的时间复杂度是()。
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=2*i+3*j;
A.O(n)
B.O(2n)
C.O(2n+1)
D.O(n2)
3.线性表如采用链式存储结构时,要求内存中可用的存储单元地址是()。
A.必须连续的
B.部分地址必须连续
C.一定是不连续的
D.连续不连续均可 4.设head是指向带头结点的单链表的指针,则判断此单链表为空表的条件是()。
A.head==NULL
B.head->next==NULL
C.head->next==head
D.head!=NULL
5.在一个单链表中已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行()。
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;
6. 若某线性表中最常用的操作是取第i个元素,则采用()存储方式最节省运算时间。
A.单链表
B.顺序表
C.双链表
D.单循环链表
7.二叉树第8层上至多有()个结点。
A.126
B.128
C.256
D.64
8.设一数列的顺序为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
9.设有一个10阶的对称矩阵A,采用压缩存储只存储其下三角,以行序为
主存储,A11为第一个元素,其存储地址为1,每元素占1个地址空间,则A85的地址为()。
A.13
B.33
C.18
D.40
10.如果结点A有3个兄弟,而且B为A的双亲,则B的度为()。
A.3
B. 5
C. 4
D.1
11.深度为k且有()个结点的二叉树称为满二叉树(设根结点处于第1层)。
A.2 (k-1)
B.2k
C.(2k)-1
D.2*k-1
12.折半查找过程可以用二叉树形象的说明,实际上这种方法是根结点开始到叶子的过程。假设结点数为n ,深度为d,则比较的次数不超过()。
A.└log2n┘+1
B.└log2n┘-1
C.└log2n┘
D.┌log2n┐
13.设关键字序列为:3,7,6,9,8,1,4,5,2。进行交换排序的最小交换次数是()。
A.6
B.7 C.8
D.20
14.一个有n个顶点的无向图最多有()条边。
A.n
B.n(n-1)
C.n(n-1)/2
D.2n
15.任何一棵无向连通图的最小生成树()。
A. 有一棵或多棵
B. 只有一棵
C.一定有多棵
D.可能不存在
二、简答题(每小题5分,共25分)
1.简述栈和队列的异同点。
2.简述树的结构特性,树和二叉树的区别是什么?
3.快速排序的最坏情况是什么?你认为应该怎样避免?
4.已知一棵哈夫曼树有50个叶子结点,请问其结点总数为多少?
5. 在n个结点的线性表中进行顺序查找的平均查找长度是多少?最好情况和最坏情况下的比较次数分别是多少?
三、应用题(40分)
1.(5分)已知一棵二叉树的先序遍历序列为ABCDEFGHJI,中序遍历序列为CDBAFEJHIG,请画出该二叉树。
2.(5分)给出下列稀疏矩阵的三元组表示。
15 0 0 22 0 -15
0 13 3 0 0 0
0 0 0 -6 0 0
0 0 0 0 0 0
91 0 0 0 0 0
0 0 28 0 0 0
3.(5分)用普里姆算法求出下图的最小生成树。 4.(8分)设有一组关键字(17,12,156,29,63,74,65,34)需要插入到表长为14的散列表中,请设计一个适合该散列表的散列函数,如果用线性探测法解决冲突,用设计的散列函数将上述关键字插入到散列表中,画出其结构。
5.(7分)写出如图所示树的孩子兄弟表示法并将其转换成二叉树。
6.(10分)对于如图所示的有向图,试给出
(1) 每个顶点的入度和出度; ① ④
(2) 邻接矩阵; ⑤
(3) 邻接表;
(4) 逆邻接表; ⑥
(5) 强连通分量。 ② ③
四、算法设计题(20分)
1、设计算法,从一给定的顺序表A 中删除值在x ,y(x<=y)之间的所有元素,要求以较高的效率来实现。(8分)
2、设二叉树以二叉链表存放,编写算法在二叉树中查找值为x
的结点,输出该结点在树中的层数。(12分)
V1
V3 V7
V2
V4 V5 V6 45 42 52 65 50
60 30 70 50 40