数据结构课程设计 - 多种排序
更新时间:2023-11-23 10:15:01 阅读量: 教育文库 文档下载
- 数据结构课程设计推荐度:
- 相关推荐
课
设 计 说 明 书 课程名称: 数据结构课程设计 设计题目: 多种排序 院 系: 计算机科学与信息工程学院 学生姓名: 徐思勇 学 号: 200903010016 专业班级: 09级计科班(应用) 指导教师: 孙高飞 2011年 6 月 8 日
程
课 程 设 计 任 务 书
设计题目 学生姓名 设计要求: 多种排序 徐思勇 所在院系 计科院 专业、年级、班 09级计科应用班 利用随机函数产生N个随机整数(10000以上),对这些数进行多种方法进行排序 学生应完成的工作: 1) 采用如下六种方法实现上述问题求解:插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序。 2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。并将数据序列和不同的查找算法的性能结果记录入txt文件。 参考文献阅读: 1) 清华大学出版社《数据结构》 编著:严蔚敏 吴伟民 2) 清华大学出版社《C程序设计教程》 编著:谭浩强 工作计划: 1) 两天时间讨论框架,由组长分配任务。 2) 三人合作每人解决两种排序方法由组长组合起来。 任务下达日期: 2011年 6月 7 日 任务完成日期: 2001年 6月 13日 指导教师(签名): 学生(签名): 李志祥
多种排序
摘 要:本次课程设计所要求的排序方法有插入排序、希尔排序、起泡排序、快速排
序、选择排序、堆排序,基本上将我们学习过的排序方法都囊括在内,可以说这次课程设计是对我们学过的排序算法的一个总结和对比。通过实验中各种排序方法所用的时间对比,可以让我们对每种排序方法的性能有一个清晰的认识,有利于我们以后在做某些程序时更好的选择最好的排序方法。
关键词:(1)六种排序 ①插入排序 ②希尔排序 ③起泡排序 ④快速排序
⑤选择排序 ⑥堆排序 (2) 排序方法的性能
关键问题:
核心问题: 排列组合
数据模型(逻辑结构):30000个随机数 存储结构: 保存在不同的文件
核心算法: 直接插入、直接选择、冒泡、快速排序、堆排序的算法 输入数据: 初始化数组:rand()P000+1 输出数据:排序内容到文件,排序所用时间
目 录
1. 设计背景?????????????????????5 1.1 总设计?????????????????????5 2.设计方案?????????????????????5 2.1设计思想????????????????????5 2.2主要思想和流程图????????????????6 3方案实施?????????????????????7 3.1程序的实现???????????????????7 3.2主要源代码及说明????????????????7 4结果与结论????????????????????20 4.1运行主界面???????????????????20 4.2各种排序方法运行结果??????????????20 4.3 运行结论????????????????????24 5收获与致谢????????????????????24 6参考文献?????????????????????24 7 附件 ?????????????????????24
1. 设计背景
1.1总设计
分别实现直接插入排序、希尔排序、直接选择排序、冒泡排序、快速排序、堆排序的算法。从时间的角度来分析各种排序的性能。通过测试多组数据来掌握各种排序的方法及适用场合,并能在解决实际问题灵活运用。在编写代码的时候,有以下几个问题:
(1)建立一个主函数,在主函数中要有菜单界面,和输入功能键相应执行的功能。并且要求能循环使用系统。
(2)分别实现直接插入排序、希尔排序、直接选择排序、冒泡排序、快速排序、堆排序的算法。
(3)通过冒泡排序法来测试每组数据用那种排序算法最优。
2.设计方案
2.1 设计思想
建立一个主函数,在主函数中要有菜单界面,和输入功能键相应执行的功能。并且要求能循环使用系统。分别实现直接插入、直接选择、冒泡、快速排序、堆排序的算法。 (1)直接插入排序的基本思想是基于插入,开始假定第一个记录有序,然后从第二个记录开始,依次插入到前面有序的子文件中。即将记录a[i](2<=i<=n)插入到有序子序列a[1..i-1]中,使记录的有序序列从a[1..i-1]变为a[1..i] ,最终使整个文件有序。共进行n-1趟插入。最坏时间复杂度是0(n2),平均时间复杂度是0(n2),空间复杂度是O(1),是稳定排序。
(2)希尔排序的基本思想是基于分组,先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2
正在阅读:
数据结构课程设计 - 多种排序11-23
财务管理制度范本12-12
小学数学北京版《五年级下》《一 长方体和正方体》《1.长方体和03-17
Protel总结报告12-16
班主任培训学习心得体会05-30
人力资源管理复习题及参考答案04-23
隧道施工技术方案总结03-10
变电运行技术技能竞赛复习题库8 -10-30
务实抓发展为民谋幸福_08-10
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 数据结构
- 排序
- 多种
- 课程
- 设计
- 人教版 八年级语文《马说》小测
- 20.“机器人技术应用”竞赛规程
- 课题1 微生物的实验室培养 教学设计 教案
- 单片机电机测试系统的研制-上位机监控系统设计
- GDF-4微机励磁控制器说明书 - 图文
- 综合管理部存在问题及解决措施
- 第四章 数字控制器的连续化设计方法
- 16开本 王氏族谱
- 医德医风建设情况汇报
- 人工成本情况表有关指标解释
- 规律探索性问题(含解析)
- 钢的热处理原理及工艺复习重点及课后习题
- 绿化中级工植物保护试题
- 2016年08月15日初中数学组卷
- 浅析个人所得税税务筹划的方法
- 2017年女篮亚洲杯四强球队快攻对比分析
- 钳工技术比武题库
- 农村语文教学中现代远程教育资源的应用分析
- 青岛理工大学空调制冷技术考试资料
- 国际现代雨洪管理体系的发展及剖析