获得 karasuba 算法的复杂性?

Posted

技术标签:

【中文标题】获得 karasuba 算法的复杂性?【英文标题】:get complexity for karasuba algorithm? 【发布时间】:2017-09-19 13:52:04 【问题描述】:

我看到了 wiki 页面:https://en.wikipedia.org/wiki/Karatsuba_algorithm,它的 karatsuba 算法的递归关系为:

T(n) = 3T(n/2) + cn + d

通过使用master算法,可以得到它的时间复杂度为T(n) = O(n^log_2(3))。我以前从未使用过主定理。当我在 wiki 页面上阅读它时,似乎 T(n) 适用于案例 1,但我们怎么知道 cn (from T(n)),其中 c 小于 log_2(3)

【问题讨论】:

【参考方案1】:

T(n) = 3T(n/2) + cn + d

cn 中的c 与用于主定理的c 不同。主定理有 nccn 这里是线性的,其中 n 是 1 次方,所以 c = 1。由于 c = 1 23,第一种情况适用。

【讨论】:

以上是关于获得 karasuba 算法的复杂性?的主要内容,如果未能解决你的问题,请参考以下文章

一文讲透算法中的时间复杂度和空间复杂度计算方式

算法之带你了解时间&空间复杂度

算法之带你了解时间&空间复杂度

算法之带你了解时间&空间复杂度

算法之带你了解时间&空间复杂度

算法中的时间复杂度和空间复杂度计算方式