python排序算法——快速排序时间复杂度O(nlogn)

快速排序:

        快速排序属于高端的排序算法,是不稳定的排序算法,最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,它的内部循环可以在大部分的架构上很有效率地被实现出来。

算法步骤

从数列中挑出一个元素,称为 "基准"

重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区操作

递归地把小于基准值元素的子数列和大于基准值元素的子数列排序

详细过程如下图:

python排序算法——快速排序时间复杂度O(nlogn)_第1张图片

 

代码: 

def zhengxu (data,left,right):
    tmp=data[left]
    while left < right:
        while left=tmp:
            right-=1
        data[left]=data[right]
        while left

 

 

 

你可能感兴趣的:(Python,蓝桥杯算法,排序算法,算法,python)