算法分析-分治法.pptxVIP

  • 8
  • 0
  • 约3.47千字
  • 约 37页
  • 2017-07-05 发布于四川
  • 举报
算法分析与设计 ——分治法 南阳理工学院软件学院 胡吉兴 分治法 分治法的基本思想 归并排序及其优化 快速排序、众数问题 分治算法分析 分治法的基本思想 将原问题分解为若干个同质但规模较小的子问题,各个子问题规模大致相同。 对这些子问题分别进行求解(经常表现为递归调用)。 对各个子问题的解进行合并,从而得到原问题的解。 归并排序(合并排序) void mergeSort(int arr[],int temp[],int begin,int end) { int mid; if(beginend) { mid=(begin+end)/2; mergeSort(arr,begin,mid); mergeSort(arr,mid+1,end); merge(arr,begin,mid,end); } } 归并排序:有序表合并 void merge(int *arr,int *temp,begin,mid,end) { int i=begin,j=mid+1,k=begin; while(i=midj=end) { if(arr[i]=arr[j]) temp[k++]=arr[i++]; else temp[k++]=arr[j++]; } while(i=mid) temp

文档评论(0)

1亿VIP精品文档

相关文档