ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:54KB ,
资源ID:1375656      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1375656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【学历类职业资格】数据结构自考题分类模拟1及答案解析.doc)为本站会员(李朗)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【学历类职业资格】数据结构自考题分类模拟1及答案解析.doc

1、数据结构自考题分类模拟 1及答案解析(总分:71.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:20.00)1.内部排序的方法有许多种, _ 方法是从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。(分数:2.00)A.归并排序B.插入排序C.快速排序D.选择排序2.对长度为 n的关键字序列进行堆排序的空间复杂度为 _(分数:2.00)A.O(log2n)B.O(1)C.O(n)D.O(n*log2n)3.在一棵完全二叉树的顺序存储方式中,若编号为 t的结点有右孩子,则此结点右孩子的编号为 _(分数:2.00)A.2tB.2t-1C.2t

2、1D.t/24.排序的重要目的是为了以后对已排序的数据元素进行 _(分数:2.00)A.打印输出B.分类C.查找D.合并5.设有一个无向图 G=(V,E)和 G“=(V“,E“),如果 G“是 G的生成树,则下面不正确的说法是 _(分数:2.00)A.G“为 G的子图B.G“为 G的连通分量C.G“为 G的极小连通子图且 V“=VD.G“是 G的一个无环子图6.广义表()和()的长度分别是_和()的长度分别是_(分数:2.00)A.0;1B.1;1C.0;0D.1;07.含有 n个顶点和 e条边的有向图的邻接矩阵中,零元素的个数是_ A.e B.2e C.n2-2e D.n2-e(分数:2.

3、00)A.B.C.D.8.堆(Heap)是 _(分数:2.00)A.完全二叉树B.线性表C.二叉排序树D.平衡二叉树9.如图所示二叉树的中序遍历序列是 _ (分数:2.00)A.a b c d g e fB.d f e b a g cC.d b a e f c gD.d e f b a g c10.对于栈顶指针为 top的顺序栈 S,判断栈空的条件是_(分数:2.00)A.top=0B.top0C.top=StackSize-1D.top=StackSize二、填空题(总题数:8,分数:16.00)11.就文件而言,按用户的观点所确定的基本存储单元称为 1。按外设的观点所确定的基本存储单元称为

4、 2。 (分数:2.00)12.在 5阶 B-树中,每个结点至多含 4个关键字,除根结点之外,其他结点至少含 1 个关键字。 (分数:2.00)13.对表长为 9000的索引顺序表进行分块查找,假设每一块的长度均为 15,且以顺序查找确定块,则在各记录的查找概率均相等的情况下,其查找成功的平均查找长度为 1。 (分数:2.00)14.已知广义表 A=(a,b,c),(d,e,f),则运算 head(head(tail(tail(A)= 1。 (分数:2.00)15.在双向链表中,每个结点含有两个指针域,一个指向其 1 结点,另一个指向 2 结点。 (分数:2.00)16.N个顶点的连通图,至少

5、有 1 条边。 (分数:2.00)17.设有一元多项式 A(x)=7+3x+10x 30 -4X 100 +13x 101 ,用单链表给出 A(x)的存储表示为 1。 (分数:2.00)18.一组字符(a,b,c,d)在文中出现的次数分别为(7,6,3,5),字符“d“的哈夫曼编码的长度为 1。 (分数:2.00)三、解答题(总题数:2,分数:15.00)(1)画出对表长为 13的有序顺序表进行二分查找的判定树; (2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找 37时所需进行的比较次数。(分数:10.00)_19.

6、图的邻接表的类型定义如下所示: #define MaxVertexNum 50 typedef struct node int adjvex; struct node*next; EdgeNode; typedef struct VertexType vertex; EdgeNode*firstedge; VertexNode; typedef VertexNode A djListMaxVertexNum; typedef struct AdjList adjiist; int n,e; ALGraph; 为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示

7、实例如下图所示,请写出重新定义的类型说明。 (分数:5.00)_四、算法阅读题(总题数:2,分数:10.00)阅读下列算法,并回答问题: void f32(int r, int n) Int i, j; for(i=2; in; i+) r0=ri; j=i-1; while(r0rj) rj+1=rj; j=j-1; rj+1=r0; (分数:5.00)(1).这是哪一种插入排序算法?该算法是否稳定?(分数:2.50)_(2).设置 r0的作用是什么?(分数:2.50)_20.求下面算法中变量 count的值:(假设 n为 2的乘幂,并且 n2) int Time int n count=0

8、x=2; while(xn/2) x * =2;count+; return(count) (分数:5.00)_五、算法设计题(总题数:1,分数:10.00)21.设计一个双向起泡排序算法,即在排序过程中交替改变扫描方向。 (分数:10.00)_数据结构自考题分类模拟 1答案解析(总分:71.00,做题时间:90 分钟)一、单项选择题(总题数:10,分数:20.00)1.内部排序的方法有许多种, _ 方法是从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置上。(分数:2.00)A.归并排序B.插入排序 C.快速排序D.选择排序解析:2.对长度为 n的关键字序

9、列进行堆排序的空间复杂度为 _(分数:2.00)A.O(log2n)B.O(1) C.O(n)D.O(n*log2n)解析:解析 由于建初始堆所需的比较次数较多,所以堆排序不适宜于记录数较少的文件。堆排序是就地排序,辅助空间为 0(1),但它是不稳定的。3.在一棵完全二叉树的顺序存储方式中,若编号为 t的结点有右孩子,则此结点右孩子的编号为 _(分数:2.00)A.2tB.2t-1C.2t+1 D.t/2解析:4.排序的重要目的是为了以后对已排序的数据元素进行 _(分数:2.00)A.打印输出B.分类C.查找 D.合并解析:5.设有一个无向图 G=(V,E)和 G“=(V“,E“),如果 G“

10、是 G的生成树,则下面不正确的说法是 _(分数:2.00)A.G“为 G的子图B.G“为 G的连通分量 C.G“为 G的极小连通子图且 V“=VD.G“是 G的一个无环子图解析:6.广义表()和()的长度分别是_和()的长度分别是_(分数:2.00)A.0;1 B.1;1C.0;0D.1;0解析:考点 广义表的长度的计算 解析 根据广义表长度的计算公式,广义表()和()的长度分别是 0和 1。7.含有 n个顶点和 e条边的有向图的邻接矩阵中,零元素的个数是_ A.e B.2e C.n2-2e D.n2-e(分数:2.00)A.B.C.D. 解析:考点 图的邻接矩阵中零元素的个数 解析 含有 n

11、个顶点和 e条边的有向图的邻接矩阵中,零元素的个数是 n 2 -e。8.堆(Heap)是 _(分数:2.00)A.完全二叉树B.线性表 C.二叉排序树D.平衡二叉树解析:9.如图所示二叉树的中序遍历序列是 _ (分数:2.00)A.a b c d g e fB.d f e b a g cC.d b a e f c g D.d e f b a g c解析:10.对于栈顶指针为 top的顺序栈 S,判断栈空的条件是_(分数:2.00)A.top=0B.top0 C.top=StackSize-1D.top=StackSize解析:考点 判断栈空的条件 解析 对于栈顶指针为 top的顺序栈 S,判断

12、栈空的条件是 S.top0。二、填空题(总题数:8,分数:16.00)11.就文件而言,按用户的观点所确定的基本存储单元称为 1。按外设的观点所确定的基本存储单元称为 2。 (分数:2.00)解析:逻辑记录 物理记录12.在 5阶 B-树中,每个结点至多含 4个关键字,除根结点之外,其他结点至少含 1 个关键字。 (分数:2.00)解析:213.对表长为 9000的索引顺序表进行分块查找,假设每一块的长度均为 15,且以顺序查找确定块,则在各记录的查找概率均相等的情况下,其查找成功的平均查找长度为 1。 (分数:2.00)解析:308.514.已知广义表 A=(a,b,c),(d,e,f),则

13、运算 head(head(tail(tail(A)= 1。 (分数:2.00)解析:e15.在双向链表中,每个结点含有两个指针域,一个指向其 1 结点,另一个指向 2 结点。 (分数:2.00)解析:前趋 后继16.N个顶点的连通图,至少有 1 条边。 (分数:2.00)解析:N117.设有一元多项式 A(x)=7+3x+10x 30 -4X 100 +13x 101 ,用单链表给出 A(x)的存储表示为 1。 (分数:2.00)解析:18.一组字符(a,b,c,d)在文中出现的次数分别为(7,6,3,5),字符“d“的哈夫曼编码的长度为 1。 (分数:2.00)解析:2 考点 哈夫曼编码 解

14、析 先构造出相应的哈夫曼树,然后进行编码。三、解答题(总题数:2,分数:15.00)(1)画出对表长为 13的有序顺序表进行二分查找的判定树; (2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找 37时所需进行的比较次数。(分数:10.00)_正确答案:()解析:_正确答案:()解析:319.图的邻接表的类型定义如下所示: #define MaxVertexNum 50 typedef struct node int adjvex; struct node*next; EdgeNode; typedef struct

15、VertexType vertex; EdgeNode*firstedge; VertexNode; typedef VertexNode A djListMaxVertexNum; typedef struct AdjList adjiist; int n,e; ALGraph; 为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示实例如下图所示,请写出重新定义的类型说明。 (分数:5.00)_正确答案:()解析:typeclef struct ArcNode VNode*adjvex; /该弧所指向的顶点的位置 struct ArcNode*nextarc

16、 /指向下一条弧的指针 ArcNode; typedef struct VNode VertexType data; /顶点信息 struct VNode*nextVertex; /指向下一个顶点的指针 ArcNode*firstarc; /指向第一条依附该顶点的弧 VNode.*AdjList; typedef struct AdjList adjList; int n,e; ALGraph;四、算法阅读题(总题数:2,分数:10.00)阅读下列算法,并回答问题: void f32(int r, int n) Int i, j; for(i=2; in; i+) r0=ri; j=i-1;

17、 while(r0rj) rj+1=rj; j=j-1; rj+1=r0; (分数:5.00)(1).这是哪一种插入排序算法?该算法是否稳定?(分数:2.50)_正确答案:()解析:直接插入排序,该算法是稳定的。(2).设置 r0的作用是什么?(分数:2.50)_正确答案:()解析:r0的作用是监视哨兵。 考点 排序算法的判定 解析 根据算法,可知其为直接插入排序的算法,该算法是稳定的。程序中 r0的作用是监视哨兵。20.求下面算法中变量 count的值:(假设 n为 2的乘幂,并且 n2) int Time int n count=0;x=2; while(xn/2) x * =2;coun

18、t+; return(count) (分数:5.00)_正确答案:()解析:count=log 2 n五、算法设计题(总题数:1,分数:10.00)21.设计一个双向起泡排序算法,即在排序过程中交替改变扫描方向。 (分数:10.00)_正确答案:()解析:可通过设置一个标志位进行区分的方式来进行交替扫描,算法描述如下: Alterbubblesort(r) /*交替扫描法起泡排序*/ Reetype R; int i,j,temp,flag; /*设置扫描标志 flag*/ flag=True; i=0; while(flag) /*开始扫描*/ flag=False; for(j=n=i,ji,j-) if(Rj,keyRj-1,key) flag=True; temp=Rj; Rj=Rj-1; Rj-1=temp; for(j=l;jn-1;j+) if(Rj.keyRj+1.key) flag=True; temp=Rj; Rj=Ri+1; Rj-1=temp; i+; /*往右扫描*/ /*AIterbubblesort*/

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1