递归、归并排序与快速排序算法详解
1. 递归问题
1.1 计算递归值
对于以下递归关系,我们需要计算当 (n = 1, 2, 4, 8) 时的值:
- a) (C(n) = 2 \cdot C(n/2)),(C(1) = 1)
- 当 (n = 1) 时,(C(1) = 1)
- 当 (n = 2) 时,(C(2) = 2 \cdot C(2/2) = 2 \cdot C(1) = 2 \cdot 1 = 2)
- 当 (n = 4) 时,(C(4) = 2 \cdot C(4/2) = 2 \cdot C(2) = 2 \cdot 2 = 4)
- 当 (n = 8) 时,(C(8) = 2 \cdot C(8/2) = 2 \cdot C(4) = 2 \cdot 4 = 8)
- b) (C(n) = 1 + C(n/2)),(C(1) = 0)
- 当 (n = 1) 时,(C(1) = 0)
- 当 (n = 2) 时,(C(2) = 1 + C(2/2) = 1 + C(1) = 1 + 0 = 1)
- 当 (n = 4) 时,(C(4) = 1 + C(4/2) = 1 + C(2) = 1 + 1 = 2)
- 当 (n = 8) 时,(C(8) = 1 + C(8/2) = 1 + C(4) = 1 + 2 = 3)
- c) (C(n) = n + 2 \cdot C(n/2)),(C(1) = 0)
- 当 (n = 1) 时,(C(1) =
超级会员免费看
订阅专栏 解锁全文
25

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



