我如何证明快速排序的主定理

flo*_*234 -3 algorithm math quicksort

我对算法,快速排序有疑问。有人可以解释一下我如何得出结果(证明)2T(n / 2)+?(n)吗?结果意味着:T(n-1)+?(n)。

感谢所有答案。

Bak*_*san 6

大师定理指出,

对于任何 主功能

  1. 如果 第一个条件 对于一些常数 Epsilon> 0, 然后 T(n)
  2. 如果 第二条件, 然后 式
  3. 如果 第三条件,对于一些常数 ε, 而如果 功能 对于一些常数 c <1 而且都足够大 ñ, 然后 T(n)

至于你的
功能
a = 2,b = 2
这里,
塞塔(第二个条件)
因此复杂度将为:复杂

关于第二个问题,请了解此功能 第二个问题,您需要了解分而治之的方法。在快速排序中,对于n个项目,如果您将最后一个值作为轴,则项目数将减少1,这将使项目数减少到(n-1),现在,如果您递归调用以最后一个值作为轴,每次减少一项。因此,复杂度将是第二个问题,当您将中间值作为枢轴时,情况并非如此。