前言:
而今看官们对“python 快排序”大概比较关切,朋友们都需要知道一些“python 快排序”的相关内容。那么小编也在网上收集了一些对于“python 快排序””的相关内容,希望咱们能喜欢,看官们一起来了解一下吧!快速排序
1、快速排序的思想
① 先从数列中取出一个数(可以是第一个数,也可以是最后一个数,还可以是中间的数,本示例以第一个数)作为基准数
② 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边
③ 再对左右区间重复第二步,直到各区间只有一个数
2、分析
将下列数组从小到大排序
● 当数组为空或者只有一个数组的时候
不需要排序
● 当数组中有 2 个元素时
检查第一个元素是否比第二个元素小,如果比第二个小,就交换他们的位置
● 当数组中有 3 个元素时
根据“快速排序”的思想,需要将数组分组,直到满足基线条件,首先,从数组中选出第一个元素作为基准值,接下来找出比基准值大的元素以及比基准值小的元素。
这里我们进行了分区,得到的两个数组是无序的,但是如果这两个数组是有序,对整个数组排序将变得非常容易。
如果子数组是有序的,就可以按下面合并成新的有序数组
左边的数组+基准值+右边的数组
quicksort(2,1)+基准值[5]+quicksort([])
>>> 1 2 5
3、方案
>>>Python 算法 07 -- 归并排序的奥秘
标签: #python 快排序 #快速排序算法 python #python快速排序原理