小编L L*_*Lin的帖子

为什么在方阵乘法的递归中输入大小除以2而不是4?

在分析方阵乘法运行时,我了解到运行时是

T(N) = 8T(N/2) + O(N^2)

对于朴素的分而治之的方法,和

T(N) = 7T(N/2) + O(N^2)

对于施特拉森的方法。

为什么 N 除以 2 而不是 4?

我怎么理解,系数 T(N/2)(8 表示 naive,7 表示 Strassen)是每个级别引入的递归次数,或者子问题的增长率。除数是减少问题的因子。这O(N^2) addend 是每个特定重复节点的运行时间。

如果朴素算法和施特拉森方法都将输出矩阵划分为 N/2 x N/2 矩阵在哪里 N 是行数和列数,问题是不是减少了 4 倍而不是 2 倍,因为在每个级别我们都在解决 4 个较小矩阵的问题?

下面是我从 GeeksforGeeks 获得的天真方法的图像:

朴素的方法图像

algorithm recursion divide-and-conquer matrix-multiplication

5
推荐指数
1
解决办法
449
查看次数