递归分治动态规划回溯.pptVIP

  • 0
  • 0
  • 约1.4万字
  • 约 73页
  • 2023-09-05 发布于广东
  • 举报
大整数的乘法 请设计一个有效的算法,可以进行两个n位大整数的乘法运算 小学的方法:O(n2) ?效率太低 分治法: a b c d 复杂度分析 T(n)=O(n2) ?没有改进? X = Y = X = a 2n/2 + b Y = c 2n/2 + d XY = ac 2n + (ad+bc) 2n/2 + bd 第二十九页,共七十三页,2022年,8月28日 大整数的乘法 请设计一个有效的算法,可以进行两个n位大整数的乘法运算 小学的方法:O(n2) ?效率太低 分治法: XY = ac 2n + (ad+bc) 2n/2 + bd 为了降低时间复杂度,必须减少乘法的次数。 XY = ac 2n + ((a-c)(b-d)+ac+bd) 2n/2 + bd XY = ac 2n + ((a+c)(b+d)-ac-bd) 2n/2 + bd 复杂度分析 T(n)=O(nlog3) =O(n1.59)?较大的改进? 细节问题:两个XY的复杂度都是O(nlog3),但考虑到a+c,b+d可能得到m+1位的结果,使问题的规模变大,故不选择第2种方案。 第三十页,共七十三页,2022年,8月28日 大整数的乘法 请设计一个有效的算法,可以进行两个n位大整数的乘法运算 小学的方法:O(n2)

文档评论(0)

1亿VIP精品文档

相关文档