我们遇到尺寸为n的问题
递归地求解大小为n-1的子问题并执行的算法 对解决方案的一系列工作。
我尝试使用plug n chug,发现big-O是n,线性的,但这对我来说似乎不对。我还能尝试什么?
答案 0 :(得分:2)
数学堆栈交换的人可能会比我更好地做到这一点,但我会给它一个机会。
算法的描述含糊不清,因此有两种可能性:
O(n)
时间运行(技术上
2n
,但忽略常数因素。)n
,每次执行n
= O(n^2)
。
显然,每次连续执行都会减少工作量,这就行了
表现为复发关系解决方案
T(n) = (1/2)n^2
,假设我记得这种问题模式正确。答案 1 :(得分:2)
您提到的递归公式为:
这意味着:
T(n)= kn + k(n-1)+ k(n-2)+ .. + k,等于k * n *(n + 1)/ 2.
因此,算法的复杂性为O(n 2 )。