数据结构课程设计---多种排序 下载本文

设 计 说 明 书 课程名称: 数据结构课程设计 设计题目: 多种排序 院 系: 计算机科学与信息工程学院 学生姓名: 徐思勇 学 号: 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 输出数据:排序内容到文件,排序所用时间