排序算法之快速排序

一.昨天说了冒泡排序,今天看看一个高效的排序方法
二.排序思想:(从小到大排序)
分析: 1、找基准(一般是以中间项为基准)
2、遍历数组,小于基准的放在left,大于基准的放在right
3、递归

三.解析
(1)随便找一个数作为基准 (我是用0位置的数作为基准),我在这里找的是数组的中间值,然后从右向左开始找比它小的数,如果找到就交换位置.第一次的中间值为4
(2)然后将基准值删掉,这时数组中就剩[3,2,5,8,6,7,6,9];
(3)将比基准值小的放在数组left中,left为[3,2];比基准值大的放在数组right中,right为[5,8,7,6,9];最后再将左右部分加上基准元素进行连接;
(4)接下来,将左边的数组也进行快速排序,也就是重复上述步骤,一直到一个数组只含有一个元素,也就是长度为1,返回;将左边的数组也进行快速排序,也就是重复上述步骤,一直到一个数组只含有一个元素,也就是长度为1,返回.
这样就排序完毕,可以得到最后的排序好的结果. 
四.比较之后的结果:

五.复杂度
时间复杂度:
         O(nlog₂n)
空间复杂度:
       最优的情况下空间复杂度为:O(logn) ;每一次都平分数组的情况
最差的情况下空间复杂度为:O( n ) ;退化为冒泡排序的情况
性能:
         快速排序是不稳定算法

如有错误,欢迎大家指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值