【发布时间】:2014-01-29 15:06:37
【问题描述】:
n因此,我们在一天前被告知了递归关系,并获得了一些代码来练习:
int pow(int base, int n){
if (n == 0)
return 1;
else if (n == 1)
return base;
else if(n%2 == 0)
return pow(base*base, n/2);
else
return base * pow(base*base, n/2);
}
我得到它的封闭形式的最远距离是 T(n) = T(n/2^k) + 7k。 我不确定如何进一步,因为提供给我们的示例很简单,并没有太大帮助。 您如何实际解决此代码的递归关系?
【问题讨论】:
-
7 是从哪里来的?什么是k? T 是否应该表示算法的复杂度?
-
7 是我从获取代码的操作计数中得到的,顺便说一下 k = log n 是的,T 表示算法的复杂度。
标签: algorithm time-complexity recurrence