与递归python的大o

时间:2017-03-30 17:32:44

标签: recursion big-o

def maxnum(l):
    if len(l)==1:
       return l[0]
    else:
        largest=maxnum(l[1:])
        if l[0]>largest:
            return l[0]
        else:
            return largest

我想知道这个递归的大O符号(是n-1?)。谢谢!

1 个答案:

答案 0 :(得分:3)

示例代码的递归关系是
T(N)= T(N-1)+ C
当你解决这个关系时

 T(n)=T(n-1)+c
     =(T(n-2)+c)+c
     =((T(n-3)+c)+c)+c 
      .
      .
      .
     =T(1)+n*c
     =n*c

因此,时间复杂度 TC = O(n * c)
等于 O(n)