1. 程式人生 > >快速排序平均情況下時間複雜度計算過程:

快速排序平均情況下時間複雜度計算過程:

就平均情況而言,快速排序是目前被認為最好的一種內部排序方法,其時間複雜度在平均情況下是nlogn,在最壞的情況下(有序時)時間複雜度是o(n^2)。下面來分析時間複雜度的計算過程:

平均情況下:T(n)=2*T(n/2)+n;      第一次劃分

                               =2*(2*T(n/4)+n/2)+n;     第二次劃分

      =2*(2*(2*T(n/8)+n/4)+n/2)+n;     第三次劃分

      =.....................

      =2^m+m*n;  第m次劃分

因為2^m=n,所以m=logn,所以T(n)=n+n*logn;