在 CLRS中,对查找数组中第 i 个最小元素(2/e, page 191, section 9.3)
的算法的分析通过以下归纳证明给出:SELECT
1. T(n) <= c celing(n/5) + c(7n/10 + 6) + an
2. <= cn/5 + c + 7cn/10 + 6c + an
3. = 9cn/10 + 7c + an
4. = cn + (-cn/10 + 7c + an)
5. = cn, when -cn/10 + 7c + an <= 0
我理解算法,但证明中的两个操作让我有点难过。
问题 1:在第 2 行中,额外的 c 项是从哪里来的(第二项)?c 乘以(7n/10 + 6)
项给出7cn/10 + 6c
。
问题 2:在第 4 行中,我们是如何从9cn/10
to得到的cn + (-cn/10 ...)
?9 系数去哪了?
这不是家庭作业
谢谢!