急需数据结构C语言版(清华大学出版社)的期末考试试题及答案

Python020

急需数据结构C语言版(清华大学出版社)的期末考试试题及答案,第1张

《数据结构》期末考试试卷( A )

一、 选择题(每小题2分,共24分)

1.计算机识别、存储和加工处理的对象被统称为( A)

A.数据B.数据元素

C.数据结构D.数据类型

2.栈和队列都是( A )

A.限制存取位置的线性结构B.顺序存储的线性结构

C.链式存储的线性结构D.限制存取位置的非线性结构

3.链栈与顺序栈相比,比较明显的优点是( D )

A.插入操作更加方便B.删除操作更加方便

C.不会出现下溢的情况D.不会出现上溢的情况

4.采用两类不同存储结构的字符串可分别简称为( B)

A.主串和子串B.顺序串和链串

C.目标串和模式串D.变量串和常量串

5. 一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是:B

A. 110 B .108

C. 100 D. 120

6.串是一种特殊的线性表,其特殊性体现在:B

A.可以顺序存储 B .数据元素是一个字符

C. 可以链接存储 D. 数据元素可以是多个字符

7.设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为: C

A. 2h B .2h-1

C. 2h+1 D. h+1

软件开发网

8.树的基本遍历策略可分为先根遍历和后根遍历;二叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把 由树转化得到的二叉树叫做这棵树对应的二叉树。下列结论哪个正确? A

A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同

B .树的后根遍历序列与其对应的二叉树的后序遍历序列相同

C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同

D. 以上都不对

9.一个有n个顶点的无向图最多有多少边?C

A. n B .n(n-1)

C. n(n-1)/2D. 2n

10.在一个图中,所有顶点的度数之和等于所有边数的多少倍?C

A. 1/2 B .1

C. 2 D. 4

11.当在二叉排序树中插入一个新结点时,若树中不存在与待插入结点的关键字相同的结点,且新结点的关键字小于根结点的关键字,则新结点将成为( A )

A.左子树的叶子结点 B.左子树的分支结点

C.右子树的叶子结点 D.右子树的分支结点

软件开发网

12.对于哈希函数H(key)=key%13,被称为同义词的关键字是( D )

A.35和41B.23和39

C.15和44D.25和51

二、已知某棵二叉树的前序遍历结果为A,B,D,E,G,C,F,H,I,J,其中中序遍历的结果为D,B,G,E,A,H,F,I,J,C。请画出二叉的具体结构。(注意要写出具体步骤)(10分)

原理见课本128页

三、有图如下,请写出从顶点c0出发的深度优先及宽度优先遍历的结果。(10分)

深度优先;C0-C1-C3-C4-C5-C2

宽度优先:C0-C1-C2-C3-C4-C5

四、有图如下,按Kruskal算法求出其最小生成树。要求写出完整的步骤。(10分)

原理见课本250页

五、给定线性表(12,23,45,66,76,88,93,103,166),试写出在其上进行二分查找关键字值12,93,166的过程。并写出二分查找的算法。(20分)

0 1 2 3 4 5 6 7 8

12 23 45 66 76 88 93 103 166

过程:

mid=(0+8)/2=4

high=3,low=0 mid=1

high=0,low=0 mid=0(找到12)

high=8,low=5,mid=6(找到93)

high=8,low=7,mid=7

high=8 low=8 mid=8

算法:见课本84页上

六、知单链表的结点结构为

Data next

下列算法对带头结点的单链表L进行简单选择排序,使得L中的元素按值从小到大排列。

请在空缺处填入合适的内容,使其成为完整的算法。 (可用文字说明该算法的基本思想及执行的过程,10分)

void SelectSort(LinkedList L)

{

LinkedList p,q,min

DataType rcd

p= (1)

while(p!=NULL) {

min=p

q=p->next

while(q!=NULL){

if((2))min=q

q=q->next

}

if( (3) ){

rcd=p->data

p->data=min->data

min->data=rcd

}

(4)

}

}

本题不会。嘿嘿。。。。

七、一个完整的算法应该具有哪几个基本性质?分别简要说明每一性质的含意。(5分)

输入:

四个基本性质:1.输入:有零个或多个有外部提供的量作为算法的输入

2:输出:算法产生至少一个量作为输出

3.:确定性:组成算法的每条指令是清晰的,无歧异的。

4.:有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的

八、何谓队列的"假溢"现象?如何解决?(5分)

队列的假溢现象是指数组实现的顺序队列中,队尾指针已到达数组的下表上界产生上溢而队头指针之前还有若干 空间闲置的现象。解决的办法之一是利用循环队列技术使数组空间的首尾相连。

九、说明并比较文件的各种物理结构。(6分)

不保证对。。。

1.B

2.B

3.A

4.A或者C,吃不准,C的面大

5.C,题意不明确

6.C

7.B

8.D

9.A

10.A

1。错

2。对

3。对

4。错

5。错

6。错

7。错,吃不准

8。错,吃不准

9。对

10。错,好像题目写错了?

1、B,因为每次拆半,所以第一次100万拆成50万,50万拆成25万……它说最多,因此就是拆到2也就不能拆了,这就是2的N次方大于等于100万的问题。可以算的2的20次方大于100万

2、a 这个数组长度是4.a也就是第一个元素a[0]的地址,因此a相当于 一个指向8个整数指针。而B 是一个指针数组,C是一个数组的指针。所以选C