Time Fibonacci算法的时间复杂度
对于范围(n)中x的第一个循环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
,这将是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) )