算法设计与电子第2章递归与分治策略教程.pptVIP

  • 1
  • 0
  • 约1.03万字
  • 约 55页
  • 2017-07-07 发布于湖北
  • 举报

算法设计与电子第2章递归与分治策略教程.ppt

Strassen矩阵乘法 A和B的乘积矩阵C中的元素C[i,j]定义为:  若依此定义来计算A和B的乘积矩阵C,则每计算C的一个元素C[i][j],需要做n次乘法和n-1次加法。因此,算出矩阵C的 个元素所需的计算时间为O(n3) 传统方法:O(n3) Strassen矩阵乘法 使用与上例类似的技术,将矩阵A,B和C中每一矩阵都分块成4个大小相等的子矩阵。由此可将方程C=AB重写为: 传统方法:O(n3) 分治法: 由此可得: 复杂度分析 T(n)=O(n3) ?没有改进? Strassen矩阵乘法 传统方法:O(n3) 分治法: 为了降低时间复杂度,必须减少乘法的次数。 复杂度分析 T(n)=O(nlog7) =O(n2.81)?较大的改进? Strassen矩阵乘法 传统方法:O(n3) 分治法: O(n2.81) 更快的方法?? Hopcroft和Kerr已经证明(1971),计算2个2×2矩阵的乘积,7次乘法是必要的。因此,要想进一步改进矩阵乘法的时间复杂性,就不能再基于计算2×2矩阵的7次乘法这样的方法了。或许应当研究3×3或5×5矩阵的更好算法。 在Strassen之后又有许多算法改进了矩阵乘法的计算时间复杂性。目前最好的计算时间上界是 O(n2.376) 是否能找到O(n2)的算法???目前为止还没有结果。 棋盘覆盖 在一个2k×2k 个方格组成的棋盘

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档