




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实 验 报 告 课程名称 数据结构与算法 实验学期 2015 年 春季 学期所在学院 交通科学与工程学院 所属专业 交通信息与控制工程系 年级 2012 专业班级 学生姓名 学号 指导教师 实验最终成绩 实验报告(六)实验题目内部排序实验时间2015 年06 月 29日实验地点B07-B214实验成绩实验性质应用性设计性综合性教师评阅: 实验目的明确;操作步骤正确;设计文稿(表格、程序、数据库、网页)符合要求; 保存路径正确;实验结果正确;实验分析总结全面;实验报告规范;其他: 评阅教师签名:一、实验目的1 理解各种方法的排序过程及其依据的原则。2 能够根据算法设计的具体要求,正确编写程序实现
2、各类内部排序方法。3 了解各种排序方法的时间复杂度、空间复杂度和稳定性的差异。二、实验内容和要求(说明算法的时间复杂度)1) 给定一个不少于十个关键字的数列,编写直接插入排序算法,将数列调整为非递增有序的序列(以0号单元作为监视哨)。2) 给定一个不少于十个关键字的数列,编写快速排序算法,将数列调整为非递减有序的序列(以最后一个关键字作为枢纽)。三、主要设计思想与算法 (此处不够可加页,或在反面书写)1.插入排序。voidinsert_sort(int*array,unsignedintn)inti,j;inttemp;for(i=1;i0&*(array+j-1)temp;j-)*(arra
3、y+j)=*(array+j-1);*(array+j)=temp;2. 快速排序。void sort(int *a, int left, int right) if(left = right)/如果左边索引大于或者等于右边的索引就代表已经整理完成一个组了/ return ; int i = left; int j = right; int key = aleft; while(i j) /控制在当组内寻找一遍/ while(i j & key = aj) /而寻找结束的条件就是,1,找到一个小于或者大于key的数(大于或小于取决于你想升 序还是降序)2,没有符合条件1的,并且i与j的大小没有
4、反转/ j-;/向前寻找/ ai = aj; /找到一个这样的数后就把它赋给前面的被拿走的i的值(如果第一次循环且key是 aleft,那么就是给key)/ while(i = ai) /这是i在当组内向前寻找,同上,不过注意与key的大小关系停止循环和上面相反, 因为排序思想是把数往两边扔,所以左右两边的数大小与key的关系相反/ i+; aj = ai; ai = key;/当在当组内找完一遍以后就把中间数key回归/ sort(a, left, i - 1);/最后用同样的方式对分出来的左边的小组进行同上的做法/ sort(a, i + 1, right);/用同样的方式对分出来的右边的
5、小组进行同上的做法/ /当然最后可能会出现很多分左右,直到每一组的i = j 为止/ while(i j) /控制在当组内寻找一遍/ while(i j & key = aj) /而寻找结束的条件就是,1,找到一个小于或者大于key的数(大于或小于取决于你想升 序还是降序)2,没有符合条件1的,并且i与j的大小没有反转/ j-;/向前寻找/ ai = aj;/找到一个这样的数后就把它赋给前面的被拿走的i的值(如果第一次循环且key是 aleft,那么就是给key)/ while(i = ai) /这是i在当组内向前寻找,同上,不过注意与key的大小关系停止循环和上面相反,因为排序思想是把数往两
6、边扔,所以左右两边的数大小与key的关系相反/ i+; aj = ai; ai = key;/当在当组内找完一遍以后就把中间数key回归/ sort(a, left, i - 1);/最后用同样的方式对分出来的左边的小组进行同上的做法/ sort(a, i + 1, right);/用同样的方式对分出来的右边的小组进行同上的做法/ /当然最后可能会出现很多分左右,直到每一组的i = j 为止/四、实验结果(可以截图描述实验结果)五、实验分析总结(时间复杂度,以及实验过程中的心得体会)通过这次实验,我练习了书写插入排序和快速排序的算法。插入排序是O(n)级别的算法,而快排是在O(nlogn)级别的算法,但不稳定。快速排序适合在数列有序程度较低的情况下使用,这样可以发挥其最佳功能,如果数列基本有序,则用冒泡算法和插入算法较好。特别是在数据量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子天平的使用化学基础与分析技术25课件
- 典型工作任务终冷洗苯工岗位28课件
- 少儿口才教学内容课件
- 小学生穿衣课件
- 口腔健康保健教学课件
- 小学生硬笔书写课件图片
- 融资租赁行业资产质量分析与2025年拓展智能医疗设备租赁业务研究报告
- 企业虚拟团队管理办法
- 低频直播造谣管理办法
- 乡镇劳动保障管理办法
- 汉字文化解密学习通超星期末考试答案章节答案2024年
- 2024年7月1日实施新版医疗器械采购、收货、验收、贮存、销售、出库、运输和售后服务工作程序
- 045.糖尿病患者血脂管理中国专家共识2024版
- 多组学整合分析方法
- 2024劳务分包合同范本下载
- 中国移动公开竞聘考试题库(含答案)
- 退学费和解协议书模板
- 【课件】2025届高三生物一轮复习备考策略研讨
- 某集团国企改革三年行动工作台账
- HJ 636-2012 水质 总氮的测定 碱性过硫酸钾消解紫外分光光度法
- 《公平竞争审查条例》微课
评论
0/150
提交评论