排序综合 课程设计实验报告.pdfVIP

  • 32
  • 0
  • 约1.15万字
  • 约 17页
  • 2017-05-21 发布于浙江
  • 举报
排序综合 课程设计实验报告

中北大学 数 据 结 构 课 程 设 计 说 明 书 学生姓名: 关心河 学 号: 1021011708 学 院: 软件学院 专 业: 软件开发与测试 题 目: 排序综合 指 导 教 师 何志英 2011年12月20 日 1. 设计任务概述 (包括系统总体框图及功能描述) 系统总体框图: 排序综合 冒泡排序法 堆排序法 基数排序法 需求分析: 1. 利用随机函数产生N个随机整数,对这些数进行多种方法进行排序。 2.采用的排序方法有冒泡排序法,堆排序法,基数排序法。 3.统计每一种排序方法的性能(通过记录程序运行花费的时间实现)。 4、应用数据结构基础知识进行实际问题求解与分析 5.具有良好的界面,操作方便灵活、简洁高效 功能描述: 此算法产生随机数后,分别用冒泡排序法,堆排序法,基数排序法对其进行 排序,并且最终在屏幕上显示出各个排序方法所得出的排序结果以及输出各自排 序发的效率。 通过阅读相关书籍,以及对其中的三种方法做实验可得出: 1.稳定性比较 插入排序、冒泡排序、简单选择排序及其他线形排序是稳定的 希尔排序、快速排序、堆排序是不稳定的 2.时间复杂性比较 1 插入排序、冒泡排序、选择排序的时间复杂性为O(n2) 其它非线形排序的时间复杂性为O(nlog2n) 线形排序的时间复杂性为O(n); 3.辅助空间的比较 线形排序的辅助空间为O(n),其它排序的辅助空间为O(1); 4.其它比较 插入、冒泡排序的速度较慢,但参加排序的序列局部或整体有序时,这种排 序能达到较快的速度。 反而在这种情况下,快速排序反而慢了。 当n较小时,对稳定性不作要求时宜用选择排序,对稳定性有要求时宜用插 入或冒泡排序。 若待排序的记录的关键字在一个明显有限范围内时,且空间允许是用桶排 序。 当n较大时,关键字元素比较随机,对稳定性没要求宜用快速排序。 当n较大时,关键字元素可能出现本身是有序的,对稳定性有要求时,空间 允许的情况下,宜用归并排序。 当n较大时,关键字元素可能出现本身是有序的,对稳定性没有要求时宜用 堆排序 2. 本设计所采用的数据结构 (如:链表、栈、树、图等) 冒泡排序与堆排序所使用的是一维数组存取数据,然后进行数的排序 1、一维数组的定义 要使用数组类型等构造类型以及第6章要学习的自定义类型 (枚举类 型与子界类型),应在说明部分进行类型说明。 这样定义的数据类型适用整 个程序 类型定义一般格式为: type 标识符1 类型1; 标识符2 类型2; 2 : 标识符n 类型n; 其中type是Pascal保留字,表示开始一个类型定义段。在其后可以定 义若干个数据类型定义。标识符是为定义的类型取的名字,称它为类型标 识符。 类型定义后,也就确定了该类型数据取值的范围,以及数据所能执行的 运算。 (2)一维数组类型的定义 一维数组类型的一般格式:

文档评论(0)

1亿VIP精品文档

相关文档