使用重现查找简单线性递归算法的运行时间

时间:2014-12-09 22:31:08

标签: performance algorithm recursion big-o recurrence

如果我有一个简单的递归算法,例如:

numberOfMatches(A, x, i): // A is an array of values, x is a single value
                             the algorithm will search the array from A[1] to A[i]
count = 0
if i==0:
    return 0

if A[i]=x:
    count = numberOfMatches(A, x, i-1) +1
else:
    count = numberOfMatches(A, x, i-1)
return count

我如何使用重现来查找运行时间(我从常识中知道是O(n))?

我有T(n)= T(n-1),因为要搜索的列表每次减少1,但是,我不认为这是正确的。

我还需要通过扩展它来解决递归算法,我甚至不知道从哪里开始。

1 个答案:

答案 0 :(得分:0)

T(N)= T(N-1)+1 通过归纳,您可以轻松证明。