递归函数Big-Oh复杂度

时间:2019-03-02 04:43:39

标签: data-structures time-complexity big-o complexity-theory

Algorithm multiply(n, m)
PRE: n :: Integer, greater than or equal to 0
m :: Integer
POST: ????
RETURNS: the product, n * m
if (n = 0)
return 0
else if (n is even)
return multiply(n/2, m+m)
else
return m + multiply((n-1)/2, m+m)
endif

此函数O(logn)是否因为在每个递归情况下都将n除?我正在为期中学习,我想确保自己做的正确。先感谢您。

1 个答案:

答案 0 :(得分:0)

是的,您是正确的。

尽管这里是这种情况,但请注意,递归调用中的除数并不总是表示对数复杂性。