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

加入VIP,省得不是一点点
 

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

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

下载须知

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

版权提示 | 免责声明

本文(自考数据结构作业题及解析.doc)为本站会员(文****钱)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

自考数据结构作业题及解析.doc

1、2013年 4月考试数据结构第三次作业 一、填空题(本大题共 20 分,共 4 小题,每小题 5 分) 1. 二叉树的基本组成部分是:根( N)、左子树( L)和右子树( R)。因而二叉树的遍历次序有六种。最常用的是三种:前序法(即按 N L R次序),后序法(即按 _ 次序)和中序法(也称对称序法,即按 L N R次序)。这三种方法相互之间有关联。若已知一棵二叉树的前序序列是 BEFCGDH,中序序列是 FEBGCHD,则它的后序序列必是 _ 。 2. 假设有二维数组 A68 ,每个元素用相邻的 6个字节存储 ,存储器按字节编址。已知 A的起始存储位置(基地址)为 1000,则数组 A的体积

2、(存储量)为 _ ;末尾元素 A57的第一个字节地址为 _ ;若按行存储时,元素A14的第一个字节地址为 _ ;若按列存储时,元素 A47的第一个字节地址为 _ 。 3. 一个算法的时间复杂度为 (3n2+2nlog2n+4n-7)/(5n),其数量级表示为 _ 。 4. 在一棵树中, _ 结点没有后继结点。 二、程序阅读题(本大题共 20分,共 2 小题,每小题 10 分) 1. 对一组关键子 49, 7, 50, 5, 94, 16, 90, 29, 71 进行排序,写出分别用下列排序方法排序时,每一趟排序结束时这些关键字的序列。 1)简单插入排序 2)希尔排序( d1=4,d2=2, d

3、3=1) 2. 下述算法的功能是什么 ? LinkList Demo(LinkList L) / L 是无头结点单链表 ListNode *Q,*P; if(LL=L-next;P=L; while (P-next) P=P-next; P-next=Q; Q-next=NULL; return L; / Demo 三、简答题(本大题共 30 分,共 2 小题,每小题 15 分) 1. 索引顺序表的查找要求 “ 分块有序 ” ,什么是 “ 分块有序 ” ? 2. 请叙述图的广度优先搜索思想。 四、程序设计题(本大题共 30分,共 2 小题,每小题 15 分) 1. 已知两个单链表中的元素递增有

4、序,试写一算法将这两个有序表归并成一个递增有序的单链表。算法应利用原有的链表结点空间。 2. 写一算法将带头结点的单链表中值重复的结点删除,使所得的结果表中各结点值均不相同 答案: 一、填空题( 20 分,共 4 题,每小题 5 分) 1. 参考答案: L R N, F E G H D C B 解题方案: 评分标准: 每空 2分 2. 参考答案: 288 B, 1282, (8+4)6+1000=1072 , (67 4)6 1000) 1276 解题方案: 评分标准: 每空 2分 3. 参考答案: O(n) 解题方案: 评分标准: 每空 2分 4. 参考答案: 叶 解题方案: 评分标准: 每

5、空 2分 二、程序阅读题( 20 分,共 2 题,每小题 10 分) 1. 参考答案: 答 : 1) 简单插入排序: 7 , 49 , 50 , 5 , 94 , 16 , 90 , 29 , 71; 7 , 49 , 50 , 5 , 94 , 16 , 90 , 29 , 71; 5 , 7 , 49 , 50 , 94 ,16 , 90 , 29 , 71; 5 , 7 , 49 , 50 , 94 , 16 , 90 , 29 , 71; 5 ,7 , 16 , 49 , 50 , 94 , 90 , 29 , 71; 5 , 7 , 16 , 49 , 50 , 90 ,94 , 2

6、9 , 71; 5 , 7 , 16 , 29 , 49 , 50 , 90 , 94 , 71; 5 , 7 ,16 , 29 , 49 , 50 , 71 , 90 , 94; 2) 希尔排序: 49 , 7 , 50 , 5 ,94 , 16 , 90 , 29 , 71 ; 49 , 7 , 50 , 5 , 71 , 16 , 90 , 29 , 94 ; 49 , 5 , 50 , 7 , 71 , 16 , 90 , 29 , 94; 5 , 7 , 16 , 29 , 49 ,50 , 71 , 90 , 94 解题方案: 答: 1) 简单插入排序: 7 , 49 , 50 ,

7、 5 , 94 , 16 , 90 , 29 , 71; 7 , 49 , 50 , 5 , 94 , 16 , 90 , 29 , 71; 5 , 7 , 49 , 50 , 94 ,16 , 90 , 29 , 71; 5 , 7 , 49 , 50 , 94 , 16 , 90 , 29 , 71; 5 ,7 , 16 , 49 , 50 , 94 , 90 , 29 , 71; 5 , 7 , 16 , 49 , 50 , 90 ,94 , 29 , 71; 5 , 7 , 16 , 29 , 49 , 50 , 90 , 94 , 71; 5 , 7 ,16 , 29 , 49 ,

8、50 , 71 , 90 , 94; 2) 希尔排序: 49 , 7 , 50 , 5 ,94 , 16 , 90 , 29 , 71 ; 49 , 7 , 50 , 5 , 71 , 16 , 90 , 29 , 94 ; 49 , 5 , 50 , 7 , 71 , 16 , 90 , 29 , 94; 5 , 7 , 16 , 29 , 49 ,50 , 71 , 90 , 94 评分标准: 3 3 2. 参考答案: 答:该算法的功能是:将开始结点摘下链接到终端结点之后成为新的终端结点,而 原来的第二个结点成为新的开始结点,返回新链表的头指针。 解题方案: 答:该算法的功能是:将开始结点

9、摘下链接到终端结点之后成为新的终端结点,而 原来的第二个结点成为新的开始结点,返回新链表的头指针。 评分标准: 5 三、简答题( 30 分,共 2 题,每小题 15 分) 1. 参考答案: 答:所谓 “ 分块有序 ” 指的是第二个子表中所有记录的关键字均大于第一个子表中的最大关键字,第三个子表中的所有关键字均大于第二个子表中的最大关键字, ,依次类推。 解题方案: 答:所谓 “ 分块有序 ” 指的是第二个子表中所有记录的关键字均大于第一个子表中的最大关键字,第三个子表中的所有关键字均大于第二个子表中的最大关键字, ,依次类推。 评分标准: 6 2. 参考答案: 答: 使用广度优先搜索在访问了起

10、始顶点 v之后,由 v出发, 依次访问 v的各个未曾被访问过的邻接顶点 w1,w2,wt ,然后再顺序访问 w1, w2,wt 的所有还未被访问过的邻接顶点。 再从这些访问过的顶点出发,再访问它们的所有还未被访问过的邻接顶点, 如此做下去,直到图中所有顶点都被访问到为止。 解题方案: 答: 使用广度优先搜索在访问了起始顶点 v之后,由 v出发,依次访问 v的各个未曾被访问过的邻接顶点 w1,w2,wt ,然后再顺序访问 w1, w2,wt 的所有还未被访问过的邻接顶点。 再从这些访问过的顶点出发,再访问它们的所有还未被访问过的邻接顶点, 如 此做下去,直到图中所有顶点都被访问到为止。 评分标准

11、: 3 3 四、程序设计题( 30 分,共 2 题,每小题 15 分) 1. 参考答案: typedef struct node KeyType key; /关键字域 OtherInfoType info; /其它信息域, struct node * next; /链表中指针域 RecNode; /记录结点类型 typedef RecNode * LinkList ; /单链表用 LinkList表示 void mergesort(LinkList la,LinkList lb,LinkList lc) RecNode *p,*q,*s,*r; lc=la; p=la;/p是 la表扫描指针,

12、指向待比较结点的前一位置 q=lb-next;/q是 lb表扫描指针,指向比较的结点 while(p-next) else s=q;q=q-next; s-next=p-next; p-next=s;/将 s结点插入到 p结点后 p=s; if (!p-next) p-next=q; free(lb); 解题方案: 评分标准: 2. 参考答案: 解: 本题可以这样考虑,先取开始结点中的值,将它与其后的所有结点值一一比较,发现相同的就删除掉,然后再取第二结点的值,重复上述过程直到最后一个结点。 void DeleteList ( LinkList L ) ListNode *p , *q , *

13、s; p=L - next; while( p-next /由于要做删除操作,所以 q指针指向要删除元素的直接前趋 while (q-next) if (p-data=q-next-data) s=q-next;q-next=s-next;free(s);/删除与 *p的值相同的结点 else q=q-next; p=p-next; 解题方案: 解: 本题可以这样考虑,先取开始结点中的值,将它与其后的所有结点值一一比较,发 现相同的就删除掉,然后再取第二结点的值,重复上述过程直到最后一个结点。 void DeleteList ( LinkList L ) ListNode *p , *q , *s; p=L - next; while( p-next /由于要做删除操作,所以 q指针指向要删除元素的直接前趋 while (q-next) if (p-data=q-next-data) s=q-next;q-next=s-next;free(s);/删除 与 *p的值相同的结点 else q=q-next; p=p-next; 评分标准: 3 3 4

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。