网站大量收购独家精品文档,联系QQ:2885784924

3.7.改进分治算法的途径1:减少子问题数.pdf

3.7.改进分治算法的途径1:减少子问题数.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
改进分治算法的途 径1:减少子问题数 减少子问题个数的依据 分治算法的时间复杂度方程 W(n) = aW(n/b) + d(n) a :子问题数,n/b :子问题规模, d(n) :划分与综合工作量. 当a 较大, b较小, d(n)不大时,方程的解: log a W(n) =  (n b ) 减少a是降低函数W(n) 的阶的途径. 利用子问题的依赖关系,使某些子问题 的解通过组合其他子问题的解而得到. 2 例1:整数位乘问题 输入:X ,Y 是n 位二进制数,n = 2k 输出:XY 2 普通乘法:需要O(n )次位乘运算 简单划分:令 X =A2n/2 +B, Y= C2n/2 +D. XY = AC 2n + (AD + BC) 2n/2 + BD X A B Y C D 2 W(n) = 4 W(n/2)+O(n)W(n)=O(n ) 3 减少子问题个数 子问题间的依赖关系:代数变换 AD+BC = (A -B)(D -C) + AC + BD 算法复杂度 W(n) = 3 W(n/2) + cn W(1) = 1 方程的解 W(n) =O(nlog3) =O(n1.59) 4 例2 矩阵乘法 例2:矩阵相乘问题 输入:A, B 为n 阶矩阵,n =2k 输出:C = AB 通常矩阵乘法: 2 C 中有n 个元素 每个元素需要做n 次乘法 以元素相乘为基本运算 3 W(n)= O(n ) 5 简单分治算法 分治法 将矩阵分块,得 A11 A12  B11 B12  C11 C12        A21 A22  B21 B22  C21 C22        其中 C A B  A B C A B A B 11 11 11 12 21 12 11 12 12 22 C A B  A B C

文档评论(0)

恬淡虚无 + 关注
实名认证
内容提供者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档