算法与数据结构试卷B

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

算法与数据结构模拟考试卷B

一、单选题(每题1分,共10分)

1.下面关于线性表的叙述错误的是()。

(A)线性表采用顺序存储必须占用一片连续的存储空间

(B)线性表采用链式存储不必占用一片连续的存储空间

(C)线性表采用链式存储便于插入和删除操作的实现

(D)线性表采用顺序存储便于插入和删除操作的实现

2.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在

676(10),每个元素占一个空间,问A[3][3](10)存放在()位置。脚注(10)表示用10进制表示。

(A)688(B)678(C)692(D)696

3.栈和队列的共同特点是()。

(A)只允许在端点处插入和删除元素(B)都是先进后出

(C)都是先进先出(D)没有共同点

4.数据的最小单位是()。

(A)数据元素(B)数据项(C)数据类型(D)数据变量

5.函数substr(“DATASTRUCTURE”,5,9)的返回值为()。

(A)“STRUCTURE”(B)“DATA”

(C)“ASTRUCTURE”(D)“DATASTRUCTURE”

6.设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记

录关键字生成的二叉排序树的深度为()。

(A)6(B)5(C)4(D)7

7.表头和表尾均为空表的广义表是()。

(A)()(B)(())(C)((()))(D)((),())

8.如图所示有向图的一个拓扑序列是()。

(A)ABCDEF(B)FCBEAD(C)FEDCBA(D)

DAEBCF

9.设完全无向图中有n个顶点,则该完全无向图中有()条边。

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

10.判定一个循环队列Q(最多元素为m)为满队列的条件是()。

(A)Q->front==Q->rear(B)Q->front!=Q->rear

(C)Q->front==(Q->rear+1)%m(D)Q->front!=(Q->rear+1)%m

二、填空题(每空1分,共5分)

1.两个串是相等的,当且仅当两个串的长度相等且________的字符都相同。

2.在无向图G的邻接矩阵A中,若A[i][j]等于0,则A[j][i]等于________。

3.对矩阵进行压缩是为了_______________________。

4.设输入序列为1、2、3,则经过栈的作用后可以得到___________种不同的输出

序列。

5.循环队列的引入,目的是为了克服______________。

三、判断题(每题1分,共5分)

1.中序遍历一棵二叉排序树可以得到一个有序的序列。

()

2.如果两个关键字的值不等但哈希函数值相等,则称这两个关键字为同义词。()

3.有向图的邻接表和逆邻接表中表结点的个数不一定相等。

()

4.所谓取广义表的表尾就是返回广义表中最后一个元素。

()

5.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。

()

四、应用题(本大题共6小题,共60分)

1、已知一棵二叉树的前序遍历的结果是AEFBGCDHIKJ,中序遍历的结果是EFAGBCHKIJD,试画出这棵二叉树,并给出这棵二叉树的后序遍历序列。

2、已知有十个待排序的记录,其关键字分别为:256,301,751,129,937,863,742,694,076,438,给出用快速排序法进行从小到大排序的过程。

3、假设通信电文使用的字符集为{a,b,c,d,e,f,g,h},各字符在电文中出现的频度分别为:7,26,2,28,13,10,3,11,试为这8个字符设计哈夫曼编码。要求:

(1).画出你所构造的哈夫曼树(要求树中左孩子结点的权值不大于右孩子结点的权值);

(2).按左分支为0和右分支为1的规则,分别写出与每个字符对应的编码。

4、设无向网G如下:

(1).请列出网G的邻接矩阵、画出网G的邻接表结构。

(2).写出从顶点1出发,按“深度优先搜索”和“广度优先搜索”方法遍历网G所得到的顶点序列;。

(3).按Prim算法求出网G的一棵最小生成树。

5、假定采用H(key)=key%13计算散列地址,引用线性探测的开放定址法解决冲突,试在0~12的散列地址空间中,对关键字序列(12,23,45,57,20,03,78,31,15,36)构造散列表,并求出等概率情况下查找成功的平均查找长度。

6、画出与下图所示森林对应的二叉树。

五、算法题(本大题共2小题,共20分)

1、给出冒泡排序算法思路,并简单写出冒泡排序算法。

2、分析下列程序段的执行过程,并写出程序段的输出结果(栈的元素类型QElem Type为char)。

void main(){

Queue Q;InitQueue(Q);

char x=’e’,y=’c’;

EnQueue(Q,’h’);EnQueue(Q,’r’);EnQueue(Q,y);

DeQueue(Q,x);EnQueue(Q,x);

DeQueue(Q,x);EnQueue(Q,’a’);

While(!QueueEmpty(Q)){DeQueue(Q,y);

Printf(y);}

Printf(x)

}

相关文档
最新文档