【发布时间】:2017-07-15 03:34:51
【问题描述】:
我有一个像计算数组中最小整数的递归算法。
ALGORITHM F_min1(A[0..n-1])
//Input: An array A[0..n-1] of real numbers
If n = 1
return A[0]
else
temp ← F_minl(A[0..n-2])
If temp ≤ A[n-1]
return temp
else
return A[n-1]
我认为递归关系应该是什么
T(n)=T(n-1) + n
但是我不确定+ n 部分。我想确定在哪些情况下重复出现T(n)=T(n-1) + 1,在哪些情况下重复出现T(n)=T(n-1) + n。
【问题讨论】:
-
它的 T(n)=T(n-1) + 1 所以它是全局的 Theta(n)。至少,乍一看。其中“+1”是一个总称,表示一组有限的恒定时间操作。
标签: algorithm performance math recursion time-complexity