递归关系Quicksort

时间:2016-03-11 06:10:55

标签: recurrence

我一直在研究quicksort的reccurence关系,我可以了解它们如何达到最终的递归关系,但随后他们跳到了时间顺序。例如:

T(N) = T(N-1) + T(0)+ Theta(sqrt(N))

然后他们跳转到以下时间顺序:O(Nsqrt(N))

我不遵循它们从递归关系到时间顺序的方式......

1 个答案:

答案 0 :(得分:0)

递归关系没有明确定义。你需要一个边界条件。我们假设T(1)=1=sqrt(1)T(0)=0

证明T(N)=O(N*sqrt(N))非常简单:

T(N) = T(N-1) + Theta(sqrt(N)) = T(N-2) + sqrt(N-1) + sqrt(N)
     = ... = sqrt(N) + sqrt(N-1) + ... + sqrt(1)
     <= N * sqrt(N).

绑定<= N*sqrt(N)显然是因为sqrt(1)<...<sqrt(N-1)<sqrt(N)

因此T(N)=O(N*sqrt(N))