数据结构试题(05B)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.单项选择题(每题2分,共20分)
1.以下数据结构中,()是非线性数据结构
A.图
B.字符串
C.队
D.栈
2.队列的特点是()。
A.先进先出
B. 后进先出
C.没有约束
D. 先进后出
3.有6个元素6,5,4,3,2,1顺序进栈,问下列哪一个是不合法的出栈序列:
A.5,4,3,6,1,2
B.4,5,3,1,2,6
C.3,4,6,5,2,1
D.2,3,4,1,5,6
4.设顺序表的长为n,则其每个元素(查找概率均等)的平均查找长度是()
A.n
B. (n-1)/2
C. n/2
D. (n+1)/2
5.下面关于串的叙述中,哪一个是不正确的()
A.串是字符的有限序列
B.空串是由空格构成的串
C.模式匹配是串的一种重要运算
D.串既可以采用顺序存储,也可以采用链式存储
6.某二叉树结点的中序序列为A、B、C、D、E、F、G,后序序列为B、D、C、A、F、G、E,则其左子树中结点数目为()
A.3
B.2
C.4
D.5
7.如果一个图有e条边,则图中所有顶点的度的和是()。
A.e
B. e/2
C. 2e
D. e-1
8.下面关于图的存储的叙述中正确的是()
A.邻接矩阵占用的存储空间只与图中结点个数有关,而与边数无关;
B.邻接矩阵占用的存储空间只与图中边数有关,而与结点个数无关;
C.邻接表占用的存储空间只与图中结点个数有关,而与边数无关;
D.邻接表占用的存储空间只与图中边数有关,而与结点个数无关。
9.下面的排序算法中,时间复杂度不是O(n2)的是()。
A.直接插入排序
B.冒泡排序
C.二路归并排序
D.直接选择排序
10.已知广义表LS=(a,(b,c),(d,e,f)),该广义表的长度为()。
A.3
B.6
C.1
D.2
二.问答题(每题10分,共40分)
1. 画出与下图所示的二叉树相对应的森林,并写出该森林的先序和后序遍历序列。
A
B C
D E F
G H
A
B D F E
C
2. 对于下面的图,请完成下列任务:
(1)画出它的邻接表 (2)写出从顶点A 出发的深度优先搜索序列 (3)求从A 到其他顶点的最小路径。
3.判别序列(12,70,33,65,24,56,48,92,86,33)是否为小顶堆,如果不是,则把它调整为小顶堆, 写出小顶堆所对应的序列。
4. 已知散列函数为H(K)=K mod 13,关键码序列为25,37,52,43,84,99,120,15,26,11,70,82,1,采用拉链法处理冲突,画出构造的开散列表,并计算查找成功的平均查找长度。
三.算法阅读题(要求:写出算法功能,并举例说明)(每题5分,共15分)
1. struct Node
{
char data;
Node *llink;
Node *rlink;
};
void function1 (Node* root)
3 9 10
8 12 6 15
19
6
{
if(root!=NULL)
{
function1(root->llink);
cout << root->data << ““;
function1(root->rlink);
}
}
2.void function2(char A[], int n)
{
char x;
int s, h, m;
for(int i=1;i { x = A[i]; s = 0; h = i - 1; while(s<=h) { m = (s+h)/2; if(x < A[m]) h = m- 1; else s = m + 1; } for(int j=i-1;j>=s;j--) A[j+1] = A[j]; A[s] = x; } } 3.int function3( char *d, char *s) { int i =0; while (s[i] != '\0' && d[i] != '\0' ) { if (d[i] > s[i]) return 1; else if (d[i] < s[i]) return -1; i ++; } if( d[i] = ='\0' && s[i] != '\0') return -1; else if (s[i] = = '\0'&& d[i] != '\0') return 1; return 0; } 四.算法设计题(第一题10分,第二题15分) 1.已知一个整数顺序表L,要求将其拆分为一个正整数顺序表L1和一个负整数顺序表L2。2.无向图采用邻接表方式存储,要求编写按广度优先搜索策略实现对图的遍历算法。