引言 Strassen矩阵乘法是一种典型的分治算法。目前为止,我们已经见过一些分治策略的算法了,例如归并排序和Karatsuba大数快速乘法。现在,让我们看看分治策略的背后原理是什么。 同动态规划不同,在动态规划中,为了得到最终的答案,我们需要把一个大的问题“展开”为几个子问题(“expand” the solutions of sub-problems),但是在这里,我们会更多的谈到如何把一
考虑两个 n 级矩阵 A, B, 矩阵 C = A * B. 则有 c i j = ∑ k = 1 n a i j ∗ b k j c_{ij} = \sum_{k=1} ^n a_{ij}*b_{kj} cij=∑k=1naij∗bkj. 对于两个矩阵相乘的问题,我们给出三个解决办法:迭代算法、简单分治算法、strassen分治算法。 解法一:迭代算法,即使用三层循环,这是最简单的