数据结构自测试题二

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

数据结构自测试题二
一、判断题(每题2分,共12分)
1、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。

()
2、数据的物理结构是指数据在计算机内的实际存储形式。

()
3、队列是一种插入与删除操作都在表的同一端进行的线性表。

()
4、从AOE网的开始点到完成点之间弧的数目最多的简单路径称为关键路径。

()
5、内部排序要求数据一定要以顺序方式存储。

()
6、N个顶点的连通图至少有N-1条边。

()
二、单选题(每题2分,共20分)
1、一个算法应该是()
1.A、问题求解步骤的描述B、程序C、要满足五个基本特性D、A和B
2、以下数据结构中,()是非线性数据结构
1.A、树B、字符串C、队D、栈
3、完成在双循环链表结点p之后插入s的操作是()
1.A、p->next=s; s->prior=p; p->next->prior=s; s->next=p->next;
2.B、p->next->prior=s; p->next=s; s->prior=p; s->next=p->next;
3.C、s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
4.D、s->prior=p; s->next=p->next; p->next->prior=s; p->next=s; 4、对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为()。

1.A、O(n) O(n) B、O(n) O(1) C、O(1) O(n) D、O(1) O(1) 5、栈和队列都是()
1.A、顺序存储的线性结构B、链式存储的非线性结构
2.C、限制存取点的线性结构D、限制存取点的非线性结构
6、串的长度是指()
1.A、串中所含不同字母的个数B、串中所含字符的个数
2.C、串中所含不同字符的个数D、串中所含非空格字符的个数
7、设给定权值总数有n 个,其哈夫曼树的结点总数为()
1.A、不确定B、2n C、2n+1 D、2n-1
8、下列哪一种图的邻接矩阵是对称矩阵?()
1.A、有向图B、无向图C、AOV网D、AOE网
9、当采用分块查找时,数据的组织方式为()
1.A、数据分成若干块,每块内数据有序
2.B、数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最
小)的数据组成索引块
3.C、数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块
4.D、数据分成若干块,每块(除最后一块外)中数据个数需相同
10、一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。

1.A、(38,40,46,56,79,84) B、(40,38,46,79,56,84)
2.C、(40,38,46,56,79,84) D、(40,38,46,84,56,79)
三、填空题(每题3分,共18分)
1、两个串相等的充分必要条件是。

2、for (j=1; j<=n; j*=2); 的时间复杂度为。

3、设T是一棵二叉树,除叶子结点外,其它结点的度数皆为2,若T中有6个叶结点,则T树的最大深度为,最小可能深度。

4、在线性结构中,除第一个结点外,每个结点都有一个结点,除最后一个结点外,每个结点都有一个结点。

5、有3个元素1,2,3顺序(依次)进栈,则不可能出现的出栈序列是。

6、串aaba的next值为。

四、应用题(每题10分,共50分)
1、已知一棵二叉树的先序遍历序列为:A、B、C、D、G、E、F,中序遍历序列为:C、B、
D、G、A、F、E,请画出这棵二叉树(要求说明生成原理),并求出这棵二叉树的后序遍历序列。

2、用2-路归并排序对序列25, 89, 50, 27, 43, 12, 35, 33进行升序排序,写出每一趟的排序结果。

3、某无向网的邻接表示意如下,其中i: ->j, w表示弧<i, j>的权为w。

,⑴、请画出该无向网;⑵、请用克鲁斯卡尔算法(Kruskal)或者普里姆算法(Prim)(从结点4开始)求最小生成树,并输出树的生长过程。

1.1: -> 2,3 -> 3,5 -> 5,7^
2.2: -> 1,3 -> 3,2 -> 5,4^
3.3: -> 1,5 -> 2,2 -> 4,8^
4.4: -> 3,8 -> 5,6^
5.5: -> 1,7 -> 2,4 -> 4,6^
4、假设关键字输入顺序为33, 43, 16, 9, 25, 98, 27, 86, 94, 37, 78,已知散列函数为:H(Key)=Key%11。

⑴、用拉链法解决冲突,请画出插入所有关键字后的链表结构(假设链表头插入);⑵、假设每个关键字的查找概率相同,请计算该表查找成功的平均查找长度。

5、画出在初始为空的二叉排序树中依次插入70, 17, 12, 77, 89, 75, 30, 19, 18时该树的生长全过程;请画出在该二叉排序树中删除节点70后的处理结果(请说明删除结点操作的原理)。

五、附加题(每题15分,共30分)
1、假设单链表的结点结构为
1.typedef struct Node {
int data;
struct Node *next;
2.} Node;
现有两个按结点数据值(data)递增有序排列的单链表A和单链表B,请编写算法,将单链表A与单链表B合并,生成单链表C,使单链表C中的结点,按数据值(data)递减有序排列。

(要求利用表A和表B中的结点空间构造表C,即不能申请新结点)。

2、一棵二叉树以二叉链表的形式存储,现已知该二叉树的根结点的地址为root,请定义二叉链表的结构,并写一个函数,求出该二叉树中结点的个数。

相关文档
最新文档