首页 > 编程语言 > 详细

浅谈快速排序

时间:2020-02-18 22:26:25      阅读:66      评论:0      收藏:0      [点我收藏+]

快速排序(Quicksort)

1.定义

快速排序是对冒泡排序的一种改进算法。

2.基本思路

快速排序的思路大概就是在冒泡排序的基础之上增添了二分的思想。

通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

简而言之:将一个序列分成两份,一份中的所有数比另外一份中的任何一个数大,重复操作直到序列有序。

3.应用思路

假设有一个等待排序的序列 $ {a[l],a[l+1],a[l+2].....a[r]} $

1.选定分界值

首先设定一个分界值,将这个序列分为两个部分

2.排序

将大于或等于分界值的数放在数组右边,小于分界值的数放在到数组的左边。此时,左边部分中各元素都小于或等于分界值,而右边部分中各元素都大于或等于分界值。

3."套娃"

此时开始"套娃",对左边和右边分解完的序列再次进行重复操作,递归(套娃)下去直到序列有序即可。

浅谈快速排序

原文:https://www.cnblogs.com/donkey2603089141/p/12328993.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!