2011软件工程专业__数据结构A卷-2012-6-6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7. 串的长度是指()。
A. 串中所含不同字母的个数
B. 串中所含字符的个数
C. 串中所含不同字符的个数
D. 串中所含非空格字符的个数
8. 若串S1=”ABCDEFG”,S2=”9898”,S3=”###”,S4=”012345”,则执行下列语句后,其结果为()。
replace(s1,Substr(s1,4,length(s3)),s3);
Concat(s1,Substr(s4,index(s2,’8’),length(s2)))
A. ABC###G0123
B. ABCD###2345
C. ABC###G2345
D. ABC###2345
E. ABC###G1234
F. ABCD###1234
G. ABC###01234
9. 一个二维数组A[10][20]按行存放于一个连续的存储空间中,A[0][0]的存储地址是200,每个数组元素占1个字节,则A[6][2]的地址为()。
A. 226
B. 322
C. 341
D. 342
10.设T是哈夫曼树,具有5个叶结点,树T的高度最高可以是()。
A. 1
B. 2
C. 3
D. 4
E. 5
F. 6
11.一棵有121个叶子结点的完全二叉树,最多有()个结点。
A. 240
B. 241
C. 242
D. 243
12.满二叉树肯定是完全二叉树()。
A. 对
B. 错
C. 不确定
13.图1中从V1到V4的最短路径是();求最短路径的算法是()。
A. 25
B. 27
C. 29
D. 无穷
E. Dijkstra
F. Prim
G. Shell G. KMP
图1图2
14.图2中的关键活动为(),关键路径共有()条。
A. a1,a4,a7,a8,a10
B. a2,a5,a7,a8,a10,a11
C. a3,a6,a9,a10,a11
D. a1,a4,a7,a8,a10,a11
E. 1
F. 2
G. 3
H. 4
15.顺序查找一个共有n个元素的线性表,其时间复杂度为()。
第2页共9页
三、运算应用题(每小题5分,共30分)【得分:】
1. 某二叉树的中序遍历序列为dbeac,先序序列为abdec,画出该二叉树,并写出这棵二叉树的后序遍历结果。
2. 将下图所示的森林转换并画出二叉树,并写出图(a)的先根遍历和后根遍历序列。
(a)(b)(c)
第4页共9页
第 5 页 共 9 页
……………………………………………装……
…………………………订……
……………………
线…………………
…
……
……………………
……
此处不能书写
此处不能书写
此处不能书写 此处不能书写
此处不能书写 此处不能书写
此处不能书写
3. 已知图G 的邻接表如下,回答下列: 1) 画出图G 的拓朴图
2) 依据邻接表写出从V1出发的深度优先搜索和广度优先搜索序列。
4. 下图所示为一无向连通网络,请任先两种算法中的一种(克鲁斯卡尔Kruskal 算法、普里姆Prim 算法(从顶点1开始))构造出它的最小生成树,并画出构造过程。
5. 给定表(53,17,45,78,65,9,23,87,94,81)。
(1)试按元素在表中的次序将它们依次插入一棵初始时为空的二叉排序树,画出插入完成之后的二叉排序树。
(2)并求等概率下其成功和不成功的平均查找长度值各为多少。
6. 若哈希表的地址范围为0到9,哈希函数:H(Key)=Key mod 10,采用链地址法处理冲突,画出关键字(19,5,21,24,45,20,11,10)依次插入哈希表以后该哈希表的状态,并计算它的ASL(平均查找长度)。
第6页共9页
第 7 页 共 9 页
……………………………………………装……
…………………………订……
……………………
线…………………
…
……
……………………
……
此处不能书写
此处不能书写
此处不能书写 此处不能书写
此处不能书写 此处不能书写
此处不能书写
四、程序分析题(每小题4分,共8分)【得分: 】
1. 分析如下在二叉链表上用递归实现的二叉树遍历算法,并回答下列问题:
1) 实现的是哪种遍历操作?
2) 写出另一种遍历操作的算法。
Status Func1(BiTree T,Status(* Visit)(TelemType e)){ //采用二叉链表存储结构,Visit 是对数据元素操作的应用函数 if(T){
if(Func1(T->lchild,Visit)) if(Visit(T->data))
if(Func1(T->rchild,Visit)) return OK; return ERROR; }else return OK; }//Func1
附注:
//----二叉树的二叉链表存储表示---- typedef struct BiTNode{ TelemType data;
struct BiTNode *lchild ,*rchild; //左右孩子指针 }BiTNode ,*BiTree;