时间:2021-05-22
快排是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、最后的排序结果如下图所示:
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
快速排序算法,简称快排,是最实用的排序算法,没有之一,各大语言标准库的排序函数也基本都是基于快排实现的。本文用python语言介绍四种不同的快排实现。1.一行代
快速排序作为一种高效的排序算法被广泛应用,SUN的JDK中的Arrays.sort方法用的就是快排。快排采用了经典的分治思想(divideandconquer)
写了三种php快速排示例,第一种效率低但最简单最容易理解,第二个是算法导论上提供的单向一次遍历找中值方法,第三种是双向遍历找中值经典快排算法。三组算法实现和比较
本文实例讲述了java数据结构与算法之奇偶排序算法。分享给大家供大家参考,具体如下:算法思想:基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到
本文实例讲述了Python实现快速排序的方法。分享给大家供大家参考,具体如下:说起快排的Python实现,首先谈一下,快速排序的思路:1、取一个参考值放到列表中