Strassen的算法效率有帮助

时间:2010-02-24 07:38:41

标签: algorithm performance big-o

您好我正在尝试获得Strassen算法的效率,但需要一些帮助。 算法的递归关系如下:

A(n) = 7A(n/2)+18(n/2)^2, for n>1, A(1) = 0. 

我已经解决了这个问题

a(n) = 6( 7^(log base(2) n) - 4^(log base(2) n) )

这是否意味着算法的效率为O(7 ^ log(n))?

2 个答案:

答案 0 :(得分:2)

是和否。

如你所见,

a(n) = 6( 7^(log₂ n) - 4^(log₂ n) ),

其中4^(log2 n)可以被丢弃,而6只是一个常数因子,所以

Complexity = O(7^(log₂ n))

这与你得到的相似。 但是,这里的基数2很重要,因为它会影响指数:

   7^(log₂ n) = n^(log₂ 7) = n^2.80735
// 7^(log  n) = n^(log  7) = n^1.94591
// 7^(log₇ n) = n^(log₇ 7) = n

答案 1 :(得分:0)

我得到了

A(n)= O(n ^(15/4))

稍后重新检查。