ImageVerifierCode 换一换
格式:DOC , 页数:35 ,大小:2.66MB ,
资源ID:5751261      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5751261.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(内部排序算法的实现与比较.doc)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

内部排序算法的实现与比较.doc

1、实验四:内部排序算法的实现与比较一、 问题描述 1 实验题目:在教科书中,各种内部排序算法的时间复杂度分析结果只给出了算法执行时间的阶,或大致执行时间。试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。2 基本要求:(1)对常用的内部排序算法进行比较:直接插入排序、简单选择排序、冒泡排序、快速排序、希尔排序、归并排序。(2 利用随机函数产生 N(N=30000)个随机整数,作为输入数据作比较;比较的指标为关键字参加的比较次数和关键字的移动次数(关键字交换记为 3 次移动) 。(3)对结果作出简要分析。3 测试数据:随机函数产生。二、 需求分析 1 程序所能达到的基本可能

2、:通过随机数据产生 N 个随机数,作为输入数据作比较;对常用的内部排序算法:直接插入排序、简单选择排序、冒泡排序、快速排序、希尔排序、归并排序进行比较:比较的指标为关键字参加的比较次数和关键字的移动次数(关键字交换记为 3 次移动) 。最后结果输出各种排序算法的关键字参加的比较次数和关键字的移动次数,并按从小到大排列。2 输入的形式及输入值范围 :随机函数产生的 N(N=30000)个随机整数。3 输出的形式:输出各种排序算法的关键字参加的比较次数和关键字的移动次数。并按从小到大排列。4 测试数据要求:随机函数产生的 N(N=30000 )个随机整数。三、 概要设计 1. 所用到得数据结构及其

3、 ADT 为了实现上述功能,应以一维数组表示集合数据类型。 int sN; int compare6=0,move6=0,DN=0,RSN=0;基本操作: 数组赋值:for(i=1;i = R S 0 c o m p a r e 3 + + ;c o m p a r e 3 + + ;j iR S i = R S j ;m o v e 3 + + ;i + + ;R S i ii + + ;c o m p a r e 3 + + ;c o m p a r e 3 + + ; j iR S j = R S i ;m o v e 3 + + ;j - - ;R S i = R S 0 ;m o v

4、 e 3 + + ;l o w = m m = ( m = = 2 ? 1 : ( m / 2 ) ) ;输出排序后结果结束YNvoid Merge(int RS,int low,int mid,int high)/将两个有序序列归并为一个有序序列开始i = l o w ;j = m i d + 1 ;k = l o w ;i =RS0compare3+;compare3+;if(ji)RSi=RSj;move3+;i+;while(RSii)i+;compare3+;compare3+;if(ji)RSj=RSi;move3+;j-;RSi=RS0;move3+;if(low=mm=(m=2

5、?1:(m/2);/缩小增进量printf(“希尔排序后的结果:“);for(i=1;i #include #include void SelectSort(int RS,int n) /直接选择排序int i,j,k,move=0,compare=0;for(i=1;i #include #include #define False 0#define True 1void BubbleSort(int RS,int n)/冒泡排序int i,j,flag,move=0,compare=0;for(i=1;i #include #include #define False 0#define T

6、rue 1void InsertSort(int RS,int n) /直接插入排序int i,j,compare=0,move=0;for(i=2;i #include #include #define False 0#define True 1int compare6=0,move6=0;int QuickSort(int RS,int low,int high)/快速排序int i,j,n;n=high;i=low;j=high;RS0=RSi;move3+;while(i=RS0compare3+;compare3+;if(ji)RSi=RSj;move3+;i+;while(RSii

7、)i+;compare3+;compare3+;if(ji)RSj=RSi;move3+;j-;RSi=RS0;move3+;if(low #include #include #define False 0#define True 1int compare6=0,move6=0;void Shellsert(int RS,int m,int n)/一趟希尔排序,按间隔 m 划分子序列int i,j,temp;for(i=m;i=mm=(m=2?1:(m/2);/缩小增进量printf(“希尔排序后的结果:“);for(i=1;i #include #include #define False

8、0#define True 1int compare6=0,move6=0,D10=0;void Merge(int RS,int low,int mid,int high)/将两个有序序列归并为一个有序序列int i,j,k;int n1,n2;i=low;j=mid+1;k=low;while(i #include #include #include #define N 100#define False 0#define True 1int compare6=0,move6=0,DN=0,RSN=0;void copys(int S,int RS,int n)int i;for(i=1;i=RS0compare3+;compare3+;if(ji)RSi=RSj;move3+;i+;while(RSii)i+;compare3+;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报