数据结构题目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