Appearance
两个 n×n 的矩阵 A 和 B 相乘,通常算法时间复杂度为 O(n3)。是否存在分治算法可以降低时间复杂度?
将 A 和 B 分成 4 个大小为 n2×n2 的子矩阵相乘。
需要计算的子问题包括 8 个小矩阵乘法以及 4 个矩阵加法,时间复杂度为:
即使如此,计算得到的时间复杂度没有得到改善,仍为 T(n3)。我们可令
于是
这样就把 8 个矩阵相乘转变成 7 个矩阵相乘,时间复杂度降低为