快速排序

快速排序采用的是分而治之的思想,选择待排序列中的一个元素作为基准值,将其余元素分为两组:小于基准值的元素和大于基准值的元素,对新生成的两组序列按照同样的方法排序直到序列中元素数量为空或只包含一个元素,快速排序的时间复杂度为O( n log ⁡ n n\log_n nlogn)。

def quicksort(array):
    if len(array)<2:
        return array
    else:
        pivot=array[0]
        less=[i for i in array[1:] if i<=pivot]
        greater=[i for i in array[1:] if i>pivot]
        return quicksort(less)+[pivot]+quicksort(greater)


print(quicksort([4,1,12,7,3]))
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页