一、基本思路:
分治法是随机选取一个中间变量x,将数组分成两个部分;其中将小于x的元素放在x的左侧,大于x的放在x的右侧;在对左半部分和右半部分 分别各分成两个部分,进行相同操作...最后所有左侧的元素都大于右侧,也就是成功将数组从小到大的排序。
二、使用原因
因为快速排列的分治法,采取对半的操作,避免了很多重复操作,对比多层循环的冒泡、选择等排序方法,更加迅速,实现了最快的编译速度。
三、基本步骤
1.找到随机x(一般可选取中间值,选择>>运算符号可以再度提高运行速率,因为相比于除法,直接在二进制上操作,会快很多);
2.将所有“小数”放在左侧,“大数放在右侧”
例如:现有数组:22,84,4,33,47,31,38,37
选33为中间值x,则一轮操作后:22,31,4,33|47,38,84,37
这样将小数放在左侧,大数放在右侧
3.在对左右两组进行取半,重复操作,直到不可再分,成功排序(将“|”两侧的小组进行操作)
例: 22 4 |31 33|37 38 |84 47

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



