- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工大学-《数据结构》课程论文-中国好学长系列之小灰灰的爸爸
附件1: 学 号:
课 程 设 计
题 目 交换排序的设计与实现 学 院 计算机科学与技术学院 专 业 软件工程专业 班 级 中国好学长系列 姓 名 小灰灰的爸爸 指导教师 夏红霞
2013 年 元 月 25 日
课程设计任务书
学生姓名: 专业班级:
指导教师: 夏红霞 工作单位:计算机科学与技术学院
题 目: 交换排序的设计与实现
初始条件:
理论:学习了《数据结构》课程,掌握了基本的数据结构和常用的算法;
实践:软件工程系实验室提供计算机及软件开发环境。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、系统应具备的功能:
(1)随机产生1000个整数
(2)实现冒泡排序、双向冒泡排序和快速排序
(3)比较各种交换排序的优劣
2、数据结构设计;
3、主要算法设计;
4、编程及上机实现;
5、撰写课程设计报告,包括:
(1)设计题目;
(2)摘要和关键字(中文和英文);
(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试、设计体会等;
(4)结束语;
(5)参考文献。
时间安排: 2013年元月21日-25日 (第21周)
元月21日 查阅资料
元月22日 系统设计,数据结构设计,算法设计
元月23日-24日 编程并上机调试,验收程序
元月25日 撰写报告、提交报告
指导教师签名: 2013年元月21日
系主任(或责任教师)签名: 2013年元月21日
交换排序的设计与实现
摘要:设计一个程序,要求能够产生1000个随机数,分别用冒泡排序、双向冒泡排序和快速排序三种方法对它们进行排序并比较各种交换排序法的优劣。
关键字: 随机数 交换排序 数据结构 算法
abstract:Design a program, can generate 1000 random numbers, respectively using bubble sort, bidirectional bubble sort and quick sort of three methods to sort them out and compared the pros and cons of various exchange sort.Keywords:andom numbers Exchange sort Data structure Algorithm
1引言
1.1冒泡排序法
首先将第一个关键字和第二个关键字进行比较,若为逆序,则将两关键字交换,然后比较第二个和第三个关键字,依此类推,直至第n-1个和第n个关键字相比较,结果使最大的关键字被安置到最后一个位置上,此为一趟起泡排序。然后开始第二趟起泡排序,其结果是将次大的关键字被安置到第n-1个位置上,以此类推,直至序列有序。
1.2双向冒泡排序法
双向冒泡排序法是在冒泡排序法的基础上改进的,首先它在将最大关键字安置在最后一个位置上后也将最小关键字安置在第一个位置,然后开始第二趟起泡排序,以此类推直至序列有序,由于它让序列的两个方向同时进行排序,故称双向冒泡排序。
1.3快速排序法
快速排序法是一种效率很高的排序方法,适用于排序问题的规模很大但对于稳定性不作要求的情况。它的设计方法是分治法,基本思想是:在待排序列中选择一个对象作为枢轴,然后进行一趟快速排序,将序列分割为两个子序列,一个子序列的所有对象都不大于枢轴,一个都不小于枢轴。然后便对这两序列重复上面的操作,依此类推,直至所有对象都被确定了位置,即序列有序。
2 需求分析
本系统应具有三个功能:产生随机整数,对关键字进行排序和记录排序所比较和调换的次数。
2.1产生随机数产生随机数
系统要求产生1000个整数,故采用随机函数rand来实现,在主函数头文件中包含time.h和stdlib.h。系统中采用srand函数来对随机函数rand进行初始化,产生的随机数用一维数组来存储。
2.2对关键字排序
用冒泡排序法、双向冒泡排序法和快速排序法分别对关键字排序
2.3比较三种交换排序的优劣
本实验要求比较三种交换排序的优劣,其主要评判标准是时间复杂度。《数据结构》中理论的分析了它们排序所用时间,而此实验用具体数据论证。
3 数据结构设计
3.1流程图
3.2 算法设计
3.2.1产生1000个随机数
srand(time(NULL));
文档评论(0)