数据结构模拟试题三及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟试题三
一.判断题(每小题1 分,共10分)
1.逻辑结构不同的数据,要采用不同的存储方法来存储。
2.单链表中的结点只有后继,没有前驱。
3.栈和队列具有相同的逻辑特性。
4.二叉树中结点之间的相互关系不能用二元组来表示。
5.关键路径是由权值最大的边构成的。
6.在表示矩阵的三元组顺序表中,各元素的排列顺序与矩阵元素值的大小无关。
7.在广义表中,每个原子必须是单个字符。
8.在平衡二叉排序树中,每个结点的平衡因子值是相等的。
9.只有在线性表的初始状态为逆序排列的情况下,起泡排序过程中,元素的移动次数才会
达到最大值。
10.在B+树上可以进行顺序查找。
二.填空题(每空1分,共10分)
1.若用不带表头结点的单链表来表示链接队列,则只有在________情况下,插入操作既要
修改队尾指针的值,也要修改队头指针的值;只有在________情况下,删除操作仅需修改队首指针的值,不需修改队尾指针的值。
2.无向图中边的数目等于邻接矩阵中___________。
3.在各元素查找概率相等的情况下,在含有12个元素的二叉排序树上查找其中一个元素,
元素间的平均比较次数至少是____次,至多是____次。
4.对12个元素进行快速排序,排序码的比较次数最多是___次。
5.对B+树来说,若某个非根分支结点中有6个关键字,则在它的某个孩子结点中至少有
_____个关键字,至多有_____个关键字。
6.如果在根结点中要查到要找的关键字,则对于B-树来说,下一步应该_________,而对
于B+树来说,下一步应该_________。
三.单选题(每题2分,共20分)
1.线性结构采用链式存储,________。
A.对插入、删除结点的操作较为有利B.不利于进行顺序访问
C.逻辑上相邻的结点在存储器中也相邻D.可以用一些不连续的存储区域来存放一个结点2. 某算法的时间复杂度为O(2n),表明该算法的________。
A.执行时间与2n成正比B.执行时间等于2n
C.问题规模是2n D.问题规模与2n成正比
3. 在长度为n的_________上,删除最后一个元素,其算法的时间复杂度是O(n)。
A.只有表头指针的循环双向链表B.只有表头指针的非循环双向链表
C.只有表尾指针的非循环双向链表 D . 只有表尾指针的循环双向链表
4. 在4个元素的进栈序列给定以后,由这4个元素构成的可能出栈序列共有________种。A.14 B.16 C.17 D.24
5. 在任何一棵二叉树中,如果结点a有左孩子b、右孩子c,则在结点的前序序列、中序序列、后序序列中,_____________。
A.结点b一定在a的前面B.结点a一定在结点c的前面C.结点b一定在结点c的前面D.结点a一定在结点b的前面
6.若二叉树中结点的中序序列是abcdef,则结点的前序序列不可能是_____________。A.dbacef B. acbedfC.efbacd D. bafdce
7. 对稀疏矩阵采用压缩存储,其优点之一是可以_____________。
A.减少非零元素的存储空间B.不减少访问非零元素所需时间
C.减少矩阵的存储空间D.降低非零元素间逻辑关系的复杂程度
8. 设待查找元素关键字的值是47,且已存入变量k中,如果在查找过程中,和k进行比较的关键字值依次是82,72,36,84,47,则所采用的查找方法可能是____________。
A.顺序查找B.分块查找C.折半查找D.平衡二叉排序树查找
9.在线性表中元素很多且各元素逆序排列的情况下,执行_______排序,元素的移动次数最
少。
A .直接插入
B .起泡
C .简单选择
D .折半插入
10. 8阶方阵,每个元素占1个单元,按行优先顺序存储,起始地址为100,存储地址为135的那个元素是矩阵中每5行第___列的元素。
A .2
B .3 C. 4 D. 5
四.图表题(每小题4分,共8分)
1.用h(x)=x mod 7作为散列函数,用线性探测法处理冲突,所建立的散列表如下图所示,请将关键字17,27依次填入表中。
2.二叉树的表态二叉链表存储结构如下图所示。请给这棵二叉树加上中序线索。
Root 10分)
在下面的表格中给出一些语句,每个语句都有编号。要求利用这些语句设计一个完整的算法,该算法可对顺序表R[1]~R[n]进行选择排序。请按所选语句在算法中出现的先后顺序,将其六.算法设计题(24分)
1.在一个字符序列中,由相同字符构成的子序列称为平台。写一个算法,其功能是,输入一个以句号结尾,长度任意的字符序列,分别统计由字符’A ’所构成的平台的最大长度值,和由字符’B’所构成的最大长度值。如对于字符序列’ABCDANBBCBAJKBCAAABA ’。’A ’平台的最大长度是3,’B’平台的最大长度是2 。
数据结构模拟题三参考答案
一.判断题
1、×
2、×
3、√
4、√
5、×
6、√
7、×.
8、×
9、√ 10、√
二.填空题
1、队列为空 队列中有2个或2个以上元素
2、非零元素个数的一半
3、 6.5
4、 66
5、3 12
6、根据记录指针从数据区中读记录 继续沿指针向下一直查到该关键字所在树叶
三.单选题
1.A
2.A
3.B
4.A
5.C
6.C
7.C
8.A
9.C 10.C
四.图表题
1.
2五(1,17,4,16,15,9,8,14,6,16,11,12,17,2,17,17)
六.算法设计题
1..char s;
intna=0,nb=0;
void count(char t, int&n){
int i;
i=0;
do{
i++;
cin>>s;
} while (s==t);
if (i>n) n=i ;
}
void main(){
cin>>s;
while (s!=’’){
switch(s) {
case ‘A ’: count(‘A ’,na); break;
case ‘B’: count(‘B’,nb);
}
if ((s!=’A ’)&&(s!=’B’)) cin>>s;
}
cout<<”A 平台的最大值是:”< cout<<”B 平台的最大值是:”< } 1237