数据结构期末考试试题--课题练习用

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

数据结构考试试卷

课程名称:数据结构;试卷类型:A考试时间:120

一、判断题(每题1分,共10分,正确划“√”,错误划“×”)() 1、算法分析的两个主要方面是空间复杂度和时间复杂度。

()2、在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

()3、栈和队列是两种重要的线性结构。

()4、用一维数组存放二叉树时,总是以前序遍历顺序存储结点。

()5、存在这样的二叉树,对它采用任何次序的遍历,结果相同。

( ) 6、在n个结点的无向图中,若边数 > n-1,则该图必是连通图。

()7、若一个图的邻接矩阵为对称矩阵,则该图必为无向图。

()8、任何无环的有向图,其结点都可以排在一个拓扑序列里。

()9、在哈希表中,若装填因子越大,则发生冲突的机会越少。

()10、堆排序的时间复杂度为O(n)。

二、填空题(每题2分,共20分)

1、数据的逻辑结构可形式化地用一个二元组B=(K,R)来表示,其中K是数据元素的有限集 ,R是K上关系的有限集。

2、在一个长度为n的向量中在第i(1≤i≤n)个元素之前插入一个元素时,需向后移动n-i 个元素。

3、用S表示入栈操作,X表示出栈操作,若元素入栈顺序为1,2,3,4, 为了得到1,3,4,2出栈顺序相应的S和X操作串为____sxssxsxx。

4、假设以列优先顺序存储二维数组A[5][8],其中元素A[0][0]的存储地址为LOC(a00),且每个元素占4个存储单元,则数组元素A[i][j]的存储地址为。

5、在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i]等于。

6、遍历图的基本方法有深度优先搜索和广度优先搜索。

7、有序表(05,13,19,21,37,56,64,75,80,88,92)中,折半查找21时,其关键码的比较次数为。

8、直接插入排序是稳定的,它的时间复杂度为。

9、二叉树通常有顺序存储结构和链式存储结构。

10、对无向图,若它有n个顶点e条边,则其邻接表中需要个结点。

三、单项选择题(每题2分,共20分)

1、如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( c )。

A. 栈

B. 队列

C. 树

D. 图

2、下面程序段的时间复杂度为(c)。

for (i=0; i

for (j=0; j

A[i][j]=i*j;

A. O (m2)

B. O (n2)

C. O (m*n)

D. O (m+n)

3、带头结点的单链表head为空的判定条件是(b )。

A. head = = NULL;

B. head->next = = NULL;

C. head->next = = head;

D. head! = NULL;

4、判断一个循环队列QU(m0为最大队列长度(以元素为单位),front和rear分别为队列的队头指针和队尾指针)为空队列的条件是( b )。

A.QU->front==QU->rear B.QU->front!=QU-> rear

C.QU->front==(QU->rear+1) % m0 D.QU->front!=(QU->rear+1) % m0

5、下列广义表中,长度为2的有( 4 )。

A=(a,b) B=((c,(a,b)),d) C=(c,(a,b)) D=((a,b) ,(c,(a,b)))

① A ② A,C ③ A,B ④ A,B,C,D

6、已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的

结点个数为( d)

A. 0

B. 1

C. 48

D. 49

7、设a、b为一棵二叉树上的两个结点。在中序遍历时,a在b前面的条件是 b 。

A.a在b的右方 B. a在b的左方 C. a是b的祖先 D. a是b的子孙

8、在一个具有n个顶点的有向图中,所有顶点的出度之和为D out,则所有顶点的入度之和为()

A. D out

B. D out-1

C. D out+1

D. n

9、n个顶点的有向完全图具有条边。

A.n(n-1)/4 B. n(n-1)/2 C. n(n-1) D. n(n+1)

10、一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为。

A.79,46,56,38,40,80

B.84,79,56,38,40,46

C.84,79,56,46,40,38

D.84,56,79,40,46,38

四、简答题(每题5分,共30分)

1、某通讯系统只可能有A、B、C、D、E、F 6种字符,其出现的概率分别是0.1、0.4、0.04、0.16、0.19、0.11,试画出哈夫曼树,并设计哈夫曼编码。

2、指定Hash函数H(k)=3*kmod11及线性探测开放地址法处理冲突,试在0~10的散列空间中对关键字序列(22,41,53,46,30,13,01,67)构造哈希表,并求在等概率下查找成功的平均查找长度。

3、已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:

读算法f 30,并回答下列问题:

(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;

(2)简述算法f30的功能。

void f30 (SeqList *L) {

int i,j;

for (i=j=0;ilength; i++)

if(L->data[i]>=0){

if(i!=j)L->data[j]=L->data[i];

j++;

}

L->length=j;

}

(1)

(2)

4、设文件中各记录的关键码为{49,38,65,97,76,13,27}。欲用快速排序算法将其按关键码从小到大排序。请写出每一趟的排序结果。

5、已知无向图G的邻接表如图1所示,请画出该无向图,并写出从V1出发按广度优先搜索时的访问序列。其中nil表示空。

相关文档
最新文档