版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厦门大学《口腔组织病理学》2025-2026学年期末试卷
- 安徽林业职业技术学院《信息管理概论》2025-2026学年期末试卷
- 赣南师范大学《管理沟通》2025-2026学年期末试卷
- 芜湖医药健康职业学院《经济学专业导论》2025-2026学年期末试卷
- 痔疮术后康复指导方案
- 彩虹职业发展规划指南
- 飞机桨叶型面仿形工8S考核试卷含答案
- 数控激光切割机操作工操作技能评优考核试卷含答案
- 常减压蒸馏装置操作工岗前实操知识考核试卷含答案
- 淡水水生植物繁育工岗前操作技能考核试卷含答案
- 国网竞聘面试题库及答案
- 矿山救护队培训知识课件
- 陪同老年人就医准备课件
- 村级水管员(农村供水方向)招聘笔试经典考题含答案
- 小区清洁保洁服务方案(3篇)
- 华北水利大水利工程测量课件09地形图测绘
- 2025年桂林市中小学教师招聘笔试考题+答案解析
- 灌溉排水工程专题练习库
- 学前教育原理(第2版) 课件 第三章 学前教育中的基础关系
- 2025年红十字应急救护大赛理论考试题(附答案)
- 电力变压器的综合分析与诊断
评论
0/150
提交评论