快列是python的经典算法之一。
1、下面说明的是快排和快排的图。
2、快速排序是解决排序问题的运算方法。
3、快出原理:从数组中选择任意一个数字为基准,用数组数据与基准数据进行比较。 比基准数字打的数字的基准数字的右侧,比基准数字小的数字在基准数字的左侧。
第一次排序后分为两个部分:大于或小于基准数据,按第一种方法继续排序,直到每个排序组只有一个数据或没有数据。
4、以下,以[ 7 91 23 1 6 3 79 2 ]排列为例,进行高速运算。
5、选择标准:以数组中第一个数字(可以选择任意数字)为标准数字
6、从j指针与基准数据进行比较后,其中2小于7,所以将2排列在7的左边。 此时进行了交叉移动,所以接下来比较的是与I指针对应的数据。
7、I指针与基准数据7相比,91大于7,所以91向右排列,此时再次交叉移动,所以下一次比较是对应于j指针的数据。
8、j指针与基准数据7进行比较,其中79比7大,所以将79向右排列,此时移动到同一侧,所以下一次比较是对应于j指针的数据。
9、j指针与基准数据7进行比较,其中3比7小,所以将3向左排列,此时再次进行了交叉移动,所以下一次比较是对应于I指针的数据。
10、I指针与基准数据7进行比较,其中23比7大,所以将23向右排列,此时又进行了交叉移动,所以下一次比较是对应于j指针的数据。
11、j指针与基准数据7进行比较,其中6比7小,所以6向左排列,此时又进行了交叉移动,所以下一次比较是对应于I指针的数据。
12、I指针与基准数据7进行比较,其中1小于7,所以将1向右排序,此时所有数据都被一次排序。
13、第一次排序后的结果如下。 根据上述方法,基准数据的左右两侧紧跟着快速列,直到数组中没有数据或数组数据为0
14、最后的排序结果如下图所示。
正文标题: python快速排序算法详解
本文地址:3358 www.CPP cns.com/jiao Ben/python/253722.html