分片算法.pptVIP

  • 42
  • 0
  • 约4.91千字
  • 约 39页
  • 2017-04-05 发布于江苏
  • 举报
分片算法

§3. ----把问题分成若干子问题,先求得子问题的解,然后把这些解合并起来,得出母问题的解。 一、分片独立的情况 --通过二分法分解或经过简单处理后,得到的是相似且相互独立的子问题 解: 过程MAXMIN,用一个变量S,|S|=2K ,K≥1, 每次返回(return)一个有序偶〈a,b〉, 其中a是最大元,b是最小元。 实际只是第2句(1次),第6句(2次)比较。 例如,n=8, n=23 , k=3 , Program flow 递归过程: (参见P.36程序) ∴是第2句共执行4次,第6句共执行3次,故共进行了 4×1+3×2=10次比较。 即,n=8, T(n)=10 (而方法1不分片, n=8, T(n) = 2n-3 = 2×8-3 = 13) 这个结果也可以用归纳法证明。 金块问题 老板有一袋金块(共n块,n是2的幂,n≥2),最优秀的雇员得到其中最重的一块,最差的雇员得到其中最轻的一块。假设有一台比较重量的仪器,希望用最少的比较次数找出最重和最轻的金块。 用二元树表示: ▲ 方法1 求最大元: 第三步以后, ∴ 总比较次数是: 比较次数为: 解得, f(n) = K+1

文档评论(0)

1亿VIP精品文档

相关文档