- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
综合算法设计实验报告
学生学号 学 生 实 验 报 告 书
实验课程名称 应用数据结构 开 课 学 院 指导教师姓名 学 生 姓 名 学生专业班级
2012 — 2013 学年 第 2 学期
实验项目名称 综合算法设计 同 组 者 无 实验日期 2013年 06 月 18日 第一部分:实验预习报告
实验目的、意义
掌握查找的含义
掌握基本查找操作的算法和实现
掌握动态查找算法的实现、应用场合与优缺点
能够针对具体问题,灵活选用适宜的查找算法
掌握排序的基本概念,对排序的稳定性及排序的时间复杂度有深刻的认识
对比折半插入排序和Shell排序的异同
掌握选择排序中堆排序的基本思想和算法实现
掌握快速排序的基本思想和算法实现
了解归并排序算法的基本思想和程序实现
了解基数排序算法的基本思想和程序实现
掌握Hash排序算法的基本思想和程序实现
在上述内容的基础上,将所有查找及排序算法整合在一个程序中
实验基本原理与方法
本实验涉及各类查找和排序算法。
静态查找,折半查找的思想为:设查找表中的元素存放在数组r中,数据元素的下标范围为[lowhigh],要查找的关键字值为key中间元素的下标为mid=|_(lowhigh) /2_|(向下取整),key与r[mid]的关键字比较:
若key=r[mid].key查找成功,下标为m的记录即为所求,返回mid若keyr[mid].key所要找的记录只能在左半部分记录中,再对左半部分使用折半查若keyr[mid].key所要找的记录只能在右半部分记录中,再对右半部分使用折半查
重复上述过程,直到找到查找表中某一个数据元素的关键字的值等于给定的值key说明查找成功;或者出现low的值大于high的情况,说明查找不成功。…d2d1),即所有记录放在同一组中进行直接插入排序为止。
堆排序是利用大顶堆(或小顶堆)来选取当前无序区中关键字最大(或最小)…, kid组成,设每个分量的取值范围为{ti|i=1, 2, …, m,且t1t2…tm}。准备m个箱子,先按低位分箱再按序号一次将各个非空箱子里的记录收集起来,再对新收集起来的元素依次按较高的位分箱,直到最高位。分箱即将第s个关键字等于ti的全部记录装入第i个箱子里。按最高位分箱后,按序号一次将各个非空箱子里的记录收集起来,得到的元素序列就是有序的。
Hash排序是在Hash查找的基础上演变而来。对待排序列采用单调的Hash函数,并用链地址法处理冲突,最后用一定规则收集存储好的数据查找表的存储结构为有序表,即表中记录按关键字大小排序存放。输入待查数据元素的
void init_Q(Queue Q);
操作结果:构造空队列Q
int Q_empty(Queue Q);
初始条件:队列Q存在
操作结果:若Q为空队列,则返回TRUE,否则FALSE
int Q_length(Queue Q);
初始条件:队列Q存在
操作结果:返回队列Q的元素个数,即队列长度
int gethead_Q(Queue Q);
初始条件:队列Q存在
操作结果:返回队列Q的队头元素
void en_Q(Queue Q,int e);
初始条件:队列Q存在
操作结果:插入元素e为Q的新的队尾元素。
void de_Q(Queue Q,int e);
初始条件:队列Q存在
操作结果:删除Q的队头元素。
}ADT Queue
线性表:
ADT List
{
数据对象:
D={ai|1=i=n,n=o,ai属于elementtype类型}
数据关系:
R={ai,ai+1|ai,ai+1属于D,i=1,...,n-1}
基本运算:
InitList(l)
DestroyList(l);
......
}
图:
ADT Graph
{
数据对象:
D={ai|1=i=n,n=0,ai属于ELEMTYPE类型}
类型标识符
数据关系:
R={ai,aj|ai,aj属于D,1=i=n,1=j=n,其中每个元素可以有零个或多个直接前驱,可以有多个直接后继}
基本运算:
InitGraph(g)
ClearGraph(g)
DFS(g)
BFS(g)
.
.
.
}
1.2小问题:
A .随机数的产生:
srand()函数用于设置随机数种,rand()用于产生一个随机数。
B.数据的储存:
由于100000个int型数的数组,所以我采用了malloc()函数来动态分配一数组存储它。
对于一些特别大的数据可以用文件存储,在采用外排序的方式排序。
C.屏幕上无法显示100000条数据,故将数据存储在两个文本文件中。一个是没排好序的,另一个是排好序后的数据。
1.3主要数据结构设计:
归并排序:
typedef int KeyType;
typedef
您可能关注的文档
- 管材直线度检测机系统设计毕业论文正文.doc
- 管理干部培训宿舍楼(一)工程施工组织设计.doc
- 管桁架工程施工方案.doc
- 管理服务中心办公楼工程施工组织.doc
- 管线改造工程施工方案.doc
- 管道施工方案_(氟化氢管道).doc
- 管道方案.doc
- 管道焊接及热处理施工方案111.doc
- 箱形桥施工方案.doc
- 箱梁专项施工方案目录及正文(10.28).doc
- Informatica元数据管理解决方案(50页PPT).ppt
- 华为DSTE战略规划落地培训材料(107页PPT).pptx
- 构建用户标签体系助力企业精细化运营(46页PPT).pptx
- 工程项目全过程造价管理课件(359页PPT).ppt
- 人教版(PEP)四年级上册英语 Unit 1 Helping at home A Let's talk 课件 素材 同步练习.pptx
- 教科版(2024)五年级下册科学2.4 增加船的载重量(教学课件).pptx
- 第1课 鸦片战争 课件.pptx
- Unit 2 Go for it! Developing ideas(Reading for writing)AI赋能写作课教学课件【2025新外研版七年级英语下册】.pptx
- Starter Welcome to junior high! Hold a party 课件+内嵌视频 2025-2026学年外研版英语七年级上册.pptx
- 【统编版(2024)道德与法治八年级上册】第2课时 捍卫国家利益.pptx
最近下载
- 社会组织会费票据管理制度(范本).pdf VIP
- 代理记账业务内部管理规范制度范本.docx(核实添加无关内容) VIP
- 《公路沥青路面施工技术规范》(F40-2004 )【可编辑】.docx VIP
- 光的人眼非视觉生物效应作用剂量 编制说明.pdf
- 多准:天猫啤酒2022年趋势报告.pdf VIP
- 2025年高考政治复习知识清单必修一《中国特色社会主义》【答题模板】.pdf VIP
- 苏S01-2012给水排水图集(无水印).docx VIP
- 制瓶机供料机.doc VIP
- 加油站防汛应急预案.docx VIP
- 泌尿外科利用PDCA循环降低持续膀胱冲洗患者膀胱痉挛的发生率品管圈.pptx VIP
文档评论(0)