下载此文档

大数据结构预算法之排序算法比较.doc


文档分类:IT计算机 | 页数:约14页 举报非法文档有奖
1/14
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/14 下载此文档
文档列表 文档介绍
数据结构与算法课程综合训练实验报告第1次姓名魏豪班级软件62学号2161601038电话**********Email1061431874@日期2017-10-18一、实验题目任务1完成直接插入排序、简单选择排序、冒泡排序、快速排序和归并排序的实现;要求:不能使用你所使用的编程语言内置的排序算法;排序算法的实现只能使用最基本的交换、比较、循环等操作;每个排序算法都尽可能使用课堂上所讲授的步骤,不要对任何排序算法进行额外的优化。任务2完成对每一个排序算法在输入规模为:100、200、300、……、10000的排序时间统计。要求:在同等规模的数据量下,需要统计正序序列和逆序序列两种序列的排序时间;将所有记录的排序时间按照如下分类方式进行图示化,需要完成如下的7张图:图1-图5:每一个图对应一个排序算法,相应的图中记录该排序算法对正序序列和逆序数据序列的时间(x轴代表数据规模、y轴代表运行时间,以下同);图6:用来将5个排序算法在正序数据序列下的运行时间图示化;图7:用来将5个排序算法在逆序数据序列下的运行时间图示化;在每张图的下面用简短的语句描述时间变化趋势的原因。任务3完成对每一个排序算法在输入规模为:100、200、300、……、10000的随机数据序列的排序时间统计。要求:切记,每个排序算法在同样数据规模的随机序列要保持一致;记录5个排序算法在相同规模下的排序时间,并形成图8;图8:用来将5个排序算法在随机数据序列下的运行时间图示化;二、实验内容任务一:直接插入排序:publicstaticvoidsort(int[]array){ for(inti=1;i<;i++) for(intj=i;(j>0)&&(array[j]<array[j-1]);j--){ inttemp=array[j]; array[j]=array[j-1]; array[j-1]=temp; } }简单选择排序:publicstaticvoidsimpleSelectMethod(int[]array){//lowIndex用于记录i+-1这个区间的最小值的下标(i会递增),i表示要交换的位置。for(inti=0;i<-1;i++){ intlowIndex=i; for(intj=i+1;j<;j++) if(array[j]<array[lowIndex]) lowIndex=j; if(lowIndex!=i){ inttemp=array[lowIndex]; array[lowIndex]=array[i]; array[i]=temp; }}}冒泡排序:publicstaticvoidBubbleSort(int[]array){ for(inti=0;i<;i++) for(intj=-1;j>i;j--){ if(array[j]<array[j-1]){ swap(array,j,j-1); } } } publicstaticvoidswap(int[]array,inta,intb){ inttemp=array[b]; array[b]=array[a]; array[a]=temp; }快速排序: publicstaticvoidqsort(int[]array,inti,intj){ intpivotindex=(i+j)/2; //pickapivot swap(array,pivotindex,j); //putpivotatend intk=partition(array,i-1,j,array[j]); swap(array,k,j); if((k-i)>1)qsort(array,i,k-1); if((j-k)>1)qsort(array,k+1,j); } publicstaticvoidswap(int[]array,inta,intb){ inttemp=array[a]; array[a]=array[b]; array[b]=temp; } publicstaticintpartition(int[]array,intl,intr,intpivot){ do{ while(array[++l]<pivot); while((r!=0)&&array[--r]>pivot); swap(array,l,r); }while(l<r); swap(array,l,r); returnl; }归并排序:publicstaticvoidmergeSort(int[]a,intleft,intright){ if(left<right){ intcenter=

大数据结构预算法之排序算法比较 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数14
  • 收藏数0 收藏
  • 顶次数0
  • 上传人511709291
  • 文件大小119 KB
  • 时间2019-10-22
最近更新