中位数的时间复杂度算法

时间:2018-10-15 07:01:17

标签: algorithm sorting search median-of-medians

您好,我正在学习本课程的算法类简介。但是,在计算中位数算法(here)的中位数的时间复杂度时遇到一些问题。 我想知道如何获得T(n)<=10cn from T(n)<=T(0.2n)+T(0.7n)+cn..

我认为我不能对上面的表达式应用母定理,而维基百科说我应该使用归纳法,但是我不知道怎么做。

1 个答案:

答案 0 :(得分:0)

它正在使用感应。 假设小于或等于n,我们有T(n) <= 10*c*n(我们知道归纳的底数对于等于或小于T(10)是正确的,因为它们是常数,我们可以为{使用足够大的值{1}})。现在我们要为c证明这一点。我们知道T(n + 1)。从归纳假设为T(n + 1) <= T(0.2(n + 1)) + T(0.7( n + 1)) + c(n+1)0.2(n + 1)小于0.7(n+1)(对于n)来看,n > 10T(0.2(n + 1)) <= 10*c*0.2(n + 1)。因此,T(0.7(n + 1)) <= 10*c*0.7(n + 1)。证明完成了!