版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构自考复习思考试题。10一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1 .若将数据结构形式定义为二元组(K, R),其中K是数据元素的有限集合,则 R是K上()A.操作的有限集合B.映象的有限集合C.类型的有限集合D.关系的有限集合2 .在长度为n的顺序表中删除第i个元素(1 wiwn)时,元素移动的次数为()A. n-i+1B. iC. i+1D. n-i3.若不带头结点的单链表的头指针为head,则该链表为空的判定条件是()A. head=NULLB. head-&g
2、t;next=NULLC. head!=NULLD. head->next=head4 .引起循环队列队头位置发生变化的操作是()A.出队B.入队C.取队头元素D.取队尾元素5 .若进栈序列为1,2, 3, 4, 5, 6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是()A. 2 , 4, 3, 1, 5, 6B. 3, 2, 4, 1, 6, 5C.4, 3, 2, 1, 5, 6D. 2, 3, 5, 1, 6, 46 .字符串通常采用的两种存储方式是()A.散列存储和索引存储B.索引存储和链式存储C.顺序存储和链式存储D.散列存储和顺序存储7 .设主串长为n,模式串长为m(
3、mwn),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为()A. mB. n-mC. n-m+1D. n8 .二维数组A 12 18采用列优先的存储方法,若每个元素各占3个存储单元,且第1B. 432个元素的地址为150,则元素A 9 7的地址为()A. 429C. 435D. 4389 .对广义表 L=(a,b),(c,d),(e,f)执行操作 tail(tail(L)的结果是()A. (e,f)B. (e,f)C.D.()10 .下列图示的顺序存储结构表示的二叉树是()| A | B j C |回 E 一9 10 11 1201 2 34567811 . n个顶点的强连通图中至少含有
4、()n条有向边n(n-1)条有向边A. n-1条有向边B.C. n(n-1)/2条有向边D.12 .对关键字序列(56, 23, 78, 92, 88, 67, 19, 34)进行增量为3的一趟希尔排序的结果 为()A. (19, 23, 56,34,78, 67, 88, 92)B. (23 ,56,78, 66, 88, 92, 19, 34)C. (19, 23, 34,56,67, 78, 88, 92)D. (19 ,23,67, 56, 34, 78, 92, 88)13 .若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为()A.4B. 5C. 8D. 9
5、14 .由同一关键字集合构造的各棵二叉排序树()A.其形态不一定相同,但平均查找长度相同B.其形态不一定相同,平均查找长度也不一定相同C.其形态均相同,但平均查找长度不一定相同D.其形态均相同,平均查找长度也都相同15 . ISAM文件和VSAM文件的区别之一是()A.前者是索引顺序文件,后者是索引非顺序文件B.前者只能进行顺序存取,后者只能进行随机存取C.前者建立静态索引结构,后者建立动态索引结构D.前者的存储介质是磁盘,后者的存储介质不是磁盘二、填空题(本大题共10小题,每空2分,共20分)16 .数据的逻辑结构在计算机存储器内的表示,称为数据的 。17 .删除双向循环链表中*p的前驱结点
6、(存在)应执行的语句是。18 .栈下溢是指在 时进行出栈操作。19 .已知substr(s,i,len)函数的功能是返回串 s中第i个字符开始长度为len的子串,strlen(s) 函数的功能是返回串s的长度。若s= ABCDEFGHIJK 卞 ABCD ,执行运算 substr(s,strlen(t), strlen(t)后的返回值为 。20 .去除广义表LS=(a1,a2,a3,an)中第1个元素,由其余元素构成的广义表称为LS的21 .已知完全二叉树 T的第5层只有7个结点,则该树共有 个叶子结点。22 .在有向图中,以顶点 v为终点的边的数目称为v的。23 .当关键字的取值范围是实数集
7、合时,无法进行箱排序和 排序。24 .产生冲突现象的两个关键字称为该散列函数的 。25 .假设散列文件中一个桶能存放m个记录,则桶“溢出”的含义是,当需要插入新的记录时,该桶中。三、解答题(本大题共4小题,每小题5分,共20分)26 .假设以数组seqnm存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。写出队满的条件表达式;(2)写出队空的条件表达式;(3)设m=40,rear=13,quelen=19,求队头元素的位置;(4)写出一般情况下队头元素位置的表达式。27 .已知一棵二叉树的中序序列为ABCDEFG ,层序序列为 BAFEGCD ,请画
8、出该二叉树。28 .画出下图所示有向图的所有强连通分量。顾28图29 .对7个关键字进行快速排序,在最好的情况下仅需进行10次关键字的比较。(1)假设关键字集合为123,4,5,6,7,试举出能达到上述结果的初始关键字序列;(2)对所举序列进行快速排序,写出排序过程。四、算法阅读题(本大题共4小题,每小题5分,共20分)30 .阅读下列算法,并回答问题:设顺序表L=(3,7,11,14,20,51),写出执行f30(&L,15)之后的L;(2)设顺序表 L=(4,7,10,14,20,51),写出执行 f30(&L,10)之后的 L;简述算法的功能。void f30(SeqLi
9、st *L, DataType x)int i =0, j;while (i<L->length && x>L->data i )i+;if(i<L->length && x=L->data i ) for(j=i+1;j<L->length;j+)L->data j-1 =L->data j;L->length-; else for(j=L->length;j>i;j-)L->data j =L->data j-1 ;L->data i =x;L->le
10、ngth+;31 .已知图的邻接表表示的形式说明如下:#define MaxNum50图的最大顶点数邻接点域链指针域边表结点结构描述/顶点域边表头指针typedef struct node int adjvex;struct node *next; EdgeNode;typedef struct char vertex;EdgeNode *firstedge; VertexNode;顶点表结点结构描述typedef struct VertexNode adjlist MaxNum ;邻接表int n, e;图中当前的顶点数和边数 ALGraph;邻接表结构描述下列算法输出图G的深度优先生成树(
11、或森林)的边。阅读算法,并在空缺处填入合适的 内容,使其成为一个完整的算法。typedef enum FALSE, TRUE Boolean;Boolean visited MaxNum ; void DFSForest(ALGraph *G)int i;for(i=0;i<G->n;i+) visited i =(1);for(i=0;i<G->n;i+) if (!visited i ) DFSTree(G,i);void DFSTree(ALGraph *G, int i) EdgeNode * p;visited i =TRUE;p=G->adjlist
12、i . firstedge;while(p!=NULL) if(!visited p->adjvex ) printf( " <%c,%c> " ,G->adjlist i . vertex, G->adjlist p->adjvex . vertex);(2);32 .阅读下列算法,并回答问题:(1)假设数组L 8 =3,0,5,1,6,4,2,7,写出执行函数调用 f32(L , 8)后的L;(2)写出上述函数调用过程中进行元素交换操作的总次数。void f32(int R 口 ,int n)int i,t;for (i=0;i<
13、;n-1;i+) while (R i !=i)t=R R ill ;R R ill =R il ;R il =t; 33.已知带头结点的单链表中的关键字为整数,为提高查找效率,需将它改建为采用拉链法 处理冲突的散列表。设散列表的长度为 m,散列函数为Hash(key尸key%m。链表的结点结构为:key next 。请在空缺处填入适当内容,使其成为一个完整算法。void f33 (LinkList L, LinkList H 口 , int m)由带头结点的单链表L生成散列表H,散列表生成之后原链表不再存在int i,j;LinkList p,q;for (i=0;i<m;i+)H =
14、(1;p=L->next;while(p)q=p->next;j=p->key%m;(2;H jl =p;(3);free(L);五、算法设计题(本大题10分)34.假设以带双亲指针的二叉链表作为二叉树的存储结构,其结点结构的类型说明如下所示:typedef char DataType;typedef struct node DataType data;struct node * Ichild, * rchild;/ 左右孩子指针struct node * parent;指向双亲的指针 BinTNode;typedef BinTNode * BinTree;若px为指向非空二
15、叉树中某个结点的指针,可借助该结构求得 px所指结点在二叉树的中序序列中的后继。就后继的不同情况,简要叙述实现求后继操作的方法;(2)编写算法求px所指结点的中序序列后继,并在算法语句中加注注释。数据结构标准答案、单项选择题1 .(B)2 .(D)3 .(A)4 .(A)5 . (D)6 .(C)7 .(C)8 . (A)9 .(B)10 .(A)11 .(B)12 .(D)13 .(C)14 .(B)15 .(C)二、填空题(本大题共10小题,每空2分,共20分)16 .存储结构17 . q = p->pre;q->pre->next = p;p->pre = q-&
16、gt;pre;free( q );18 .栈空19 . "DEFG" /注意双引号不能少20 .表尾21 . 2 a(I-2)+M/2 叶子结点.22 .入度23 .基数24 .同义词25 .已有m个同义词记录三、解答题(本大题共4小题,每小题5分,共20分)26 . (1) quelen = m(2) quelen = 0(13 - 19 + 40 ) % 40 = 34(4) ( rear - quelen + m ) % m33.27./ A F八E G/CD28. 3 个:a、 bce、dfg29.我们知道,对n个关键自序列进行一趟快速排序,要进行 n-1次比较,也
17、就是基准和其他 n-1个关键字比较。这里要求10次,而7 - 1 + 2 * ( 3 - 1 ) = 10,这就要求2趟快速排序后,算法结束。所以,列举出来的序列,要求在做 partition的时候,正好将序列平分(1)4 1 3 2 6 5 7或 4 1 3 7 6 5 2或 4 5 3 7 6 1 2或4 1 3 5 6 2 7 .(2)自己歹U吧:)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.(1) L=(3,7,11,14,15,20,51)(2) L=(4,7,14,20,51)(3)在顺序表L中查找数x,找到,则删除x,没找到,则在适当的位置插入x,插入后,L依然有序.31.FALSE /初始化为未访问(2) DSFTree( G, p->adjvex ); /从相邻结点往下继续深度搜索p = p->next; /下一个未访问的相邻结点32.(1) L = 0, 1,2, 3, 4, 5, 6, 7 ;(2)5 次NULL初始化(2) p->next = H j /和下面一句完成头插法p = q;继续遍历L五、算法设计题(本大题10分)34.1)a)*px有右孩子,则其右孩子为其中序序列中的后继b)*px无右孩子,从*px开始回溯
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 还款计划及资金来源证明范文
- 苏教版三年级下册数学各单元教学计划
- 宿舍管理流程
- 城市高层建筑火灾应急响应方案
- 八年级生物上册工作计划
- 宗教机构意识形态工作总结
- 中学微机室管理工作计划
- 智能化卸料平台施工方案
- 工业园区桩基施工管理方案
- 2024年铸造辅助材料项目申请报告
- 妊娠期高血压疾病的护理课件
- 小区物业消防安全职责与日常检查
- 施工现场危险源辨识及风险评价表
- 烟草专卖许可证新办申请表(国)
- 玩转计算机网络-计算机网络原理智慧树知到课后章节答案2023年下青岛大学
- 安全隐患排查台账(附排查表)
- 核安全工程师-核安全综合知识-辐射防护基础-辐射防护剂量限值
- 音乐治疗学基础理论
- 小学二年级期中家长会课件
- 第六届大学生化学实验技能竞赛初赛笔试试题
- 质量通病防治施工措施及质量通病防治措施
评论
0/150
提交评论