分治算法合并排序.docxVIP

  • 44
  • 0
  • 约3.27千字
  • 约 6页
  • 2018-06-20 发布于上海
  • 举报
算法分析与设计实验报告第 2 次实验姓名学号班级时间3.19上午地点四合院 实验名称分治算法实验(用分治法实现合并排序)实验目的通过上机实验,要求掌握分治法实现合并排序算法的问题描述、算法设计思想、程序设计。实验原理使用分治思想以及合并排序算法,根据不同的输入用例,能准确的输出排好序的用例并计算出程序运行所需要的时间。实验步骤① 首先将数组a中的元素两两配对;② 用合并算法将它们排序,构成n/2组长度为2的排好序的子数组段,然后再将它们排序成长度为4的排好序的子数组段,如此进行下去,直至整个数组排好序。③ 设置计算时间的函数和生成随机数的函数。④ 从文件中读入生成的随机数,将排好序的结果输出到文件中,并输出运行时间。关键代码void merge(int a[],int l,int m,int r,int n) //合并 { int b[n],i,j,k=l; memset(b,0,n); for (i = l,j = m + 1;(i = m)(j = r);) { if(a[i] = a[j]) b[k++] = a[i++]; else b[k++] = a[j++]; } if(i = m) for(;i = m;i++) b[k++] = a[i]; if(j = r) for(;j = r;j++)

文档评论(0)

1亿VIP精品文档

相关文档