数据结构课程设计-排序
《数据结构课程设计-排序》由会员分享,可在线阅读,更多相关《数据结构课程设计-排序(9页珍藏版)》请在毕设资料网上搜索。
1、五 .综合排序 1、 设计目的 对于数据处理工作,排序是其最基本的运算之一。在当今的计算机系统中,花费在排序上的时间占系统 CPU 运行时间的很大比重(约 20%60%)。为了提高计算机的工作效率,人们提出了各种各样的排序算法,这些算法充分地展示了算法设计的某些重要原则和高超技巧。本设计旨在对一些常用的内部排序算法作深入地探讨和理解,通过比较,评价各算法的优劣。 2、 问题描述 各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大概执行时间。试通过随机的数据比较各算法的关键字比较次数和关键字移动次数,以取得直 观感受。 3、 设计要求 (1) 实现基本排序方法:直接插入排序、希尔
2、排序、冒泡、快速排序、直接选择、堆排序; (我们要求至少实现三种算法) (2) 对每种基本排序方法尽量给出改进算法; (3) 利用随机函数产生不少于 100 个随机整数,利用直接插入排序、希尔排序、冒泡、快速排序、直接选择、堆排序等排序方法进行递增排序,统计各算法的关键字比较次数和关键字移动次数; (4) 以菜单的形式组织程序各功能; (5) 至少要用 5 组不同的输入数据作比较,比较的指标为有关键字参加的比较次数和关键字移动次数(关键字交换计为 3 次移 动); (6) 观察所有实验结果并汇集成表格加以总结。 4、 相关知识介绍 将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序
3、的序列叫排序。排序的目的是为了便于查找和处理,提高数据检索的效率。排序问题是要把若干无序数据元素序列排成一个有序序列。因此排序问题的数据元素集合是线性结构。在这个数据元素集合上也允许存取任意位置的数据元素,所以排序问题的数据结构是线性表。任何算法的实现方法都和算法所处理数据元素的存储结构有关。线性表的存储结构有顺序表和链表两种,因为数组具有随机存取特性,而链表不具备,所以排序 算法基本上是基于顺序表设计的。排序的方法很多,若按待排序记录所在位置可分为外部排序(排序过程中需对外存进行访问的排序)和内部排序(待排序记录存放在内存);按排序依据的不同原则来看,内部排序又可分为插入排序(直接插入排序、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 排序
