Time Fibonacci算法的时间复杂度

Time Fibonacci算法的时间复杂度,time,complexity-theory,Time,Complexity Theory,对于范围(n)中x的第一个循环,这将是O(n),后三个循环将是O(n/10*10*n/10)->O(n^2/10),因此总复杂度将是O(n+n^2/10)->O(n+n^2) 由于不存在循环,并且如果语句是在固定时间内完成的,那么复杂性为O(1) 该块中的第一个循环将增加O(N)的复杂性,因为没有其他循环,所以总的复杂性将是O(N) def Fibonacci2(n:nat?): 如果n def f6 ( n : nat ?) : for x in range ( n ) : pri

对于范围(n)中x的第一个循环
,这将是O(n),后三个循环将是O(n/10*10*n/10)->O(n^2/10),因此总复杂度将是O(n+n^2/10)->O(n+n^2)

  • 由于不存在循环,并且如果语句是在固定时间内完成的,那么复杂性为O(1)

  • 该块中的第一个循环将增加O(N)的复杂性,因为没有其他循环,所以总的复杂性将是O(N)

    def Fibonacci2(n:nat?):
    如果n
    
     def f6 ( n : nat ?) : 
     for x in range ( n ) :
     print ("*")
     for i in range ( n / 10) :
        for k in range (10) :
           for j in range ( n / 10) :
              print ("-") 
    
    def sum( start : nat ? , end : nat ?) :
        if start > end : return 0
        if start == end : return end
        return ( start +
        sum ( start + 1 , end ) )
    
    def Fibonacci1 ( n : nat ?) :
        let ans = 0
        let pre_ans1 = 0
        let pre_ans2 = 1
        for i in range (1 , n + 1) :
            ans = pre_ans1 + pre_ans2
            pre_ans2 = pre_ans1
            pre_ans1 = ans
        return ans
    
    def Fibonacci2 ( n : nat ?) :
        if n <= 2: return 1
        return ( Fibonacci2 ( n - 1) +
        Fibonacci2 ( n - 2) )