算法分析与设计[2].pptVIP

  • 8
  • 0
  • 约6.94千字
  • 约 37页
  • 2018-05-14 发布于四川
  • 举报
算法分析与设计 第二章 分治法 第二章 分治法 什么是分治法? 找最大和最小元素 二分查找算法 二叉树查找 合并排序 2.1 分治法的基本思想 分治策略的抽象化控制 DivideandConquer(P) { if SMALL(P) then return(Solve(P)); else { divide P into k subproblems:P1,P2,…,Pk; for(i=1;i=k;i++) si=DivideandConquer(Pi) S=Merge(s1,s2,…,sk); return(S) } } 分治策略的计算时间 倘若所分成的k个子问题的输入规模大致相等,则分治策略的计算时间可表示为: T(n)= 例2.1 最大和最小值问题 问题描述:在含有n个不同元素的集合中同时找出它的最大和最小元素 一般解决方法 算法的时间复杂度 改进前比较次数:2(n-1) 改进后比较次数:最好n-1,最坏2(n-1),平均为3(n-1)/2 如果考虑用分治策略来解决这个问题 将任一实例I=(n,A(1),…,A(n))分成一些较小的实例来处理。 递归求取最大和最小元素 void

文档评论(0)

1亿VIP精品文档

相关文档