算法分析与基础数据结构
1. 递归算法及复杂度分析
1.1 递归函数示例
以下是一些递归函数及其复杂度分析:
int Trial (int a, int b, int c)
{
if ((a >= b) && (c < b)) return b;
else if (a >= b) return Trial(a, c, b);
else return Trial(b, a, c);
}
该函数 Trial 的作用是找出 a 、 b 、 c 三个数中的中间数,答案选 (c)。
1.2 常见递归函数的复杂度
| 函数 | 复杂度 |
|---|---|
gcd(int a, int b) |
(O(\log n)) |
func(int n) // n + func(n - 1) |
(O(n)) |
func(int n) // n * func(n - 1) |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



