python 快速排序
转载自: https://www.jianshu.com/p/2b2f1f79984e 快速排序的介绍 快速排序(quick sort)的采用了 分治 的策略。 分治策略指的是: 将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。 快排的基本思想是: 在序列中找一个划分值,通过一趟排序将 未排序的序列 排序成 独立的两个部分,其中左边部分序列都比划分值小,右边部分的序列比划分值大,此时划分值的位置已确认,然后再对这两个序列按照同样的方法进行排序,从而达到整个序列都有序的目的。 快速排序的Python实现 先来看一个 我更想称之为伪快排的快排代码: def quick_sort(array): if len(array) < 2: return array else: pivot = array[0] less_than_pivot = [x for x in array[1:] if x <= pivot] more_than_pivot = [x for x in array[1:] if x > pivot] return quick_sort(less_than_pivot) + [pivot] + quick_sort(more_than_pivot) 这段代码最关键的是pivot这个参数