【发布时间】:2018-04-04 08:46:20
【问题描述】:
在分析方阵乘法运行时,我知道运行时是
对于天真的分治法,并且
对于施特拉森的方法。
为什么 N 除以 2 而不是 4?
我怎么理解, 的系数(8 表示朴素,7 表示 Strassen)是每个级别引入的递归数,或者子问题的增长率。除数是减少问题的因素。 加数是每个特定重复节点的运行时。
如果朴素算法和 Strassen 方法都将输出矩阵划分为 矩阵,其中 是行数和列数,那么问题不是减少了 4 倍而不是 2 倍,因为在每个级别上,我们都解决了 4 个较小矩阵的问题?
下面是我从 GeeksforGeeks 获得的幼稚方法的图像:
【问题讨论】:
-
元素数量确实减少了4,但问题是由矩阵的单个维度的size参数化的,它只有一半。
-
我认为,如果您至少提供伪代码并据此进行辩论,这将大大改善您的问题。重复与算法相关联,而不是问题,您只提出后者。
-
我必须补充一点,我的意思是 $T(n/4)$。
-
@cadaniluk 公开提供。只需简单的搜索!
-
@Media “它是公开的。只需简单的搜索!”并不意味着它是问题的一部分。如果 OP 要特别争辩子问题应该除以 4,那么问题将变得显而易见,他可能会自己解决。 (您可以删除 LaTeX 标记,反正 Stack Overflow 不支持它。)
标签: algorithm recursion matrix-multiplication divide-and-conquer