热门搜索 :
考研考公
您的当前位置:首页正文

python快排算法详解

来源:伴沃教育
python快排算法详解

快排是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、最后的排序结果如下图所⽰:

因篇幅问题不能全部显示,请点此查看更多更全内容

Top