快速排序的最优和最差比较次数

本文详细探讨了快速排序算法在最优及最坏情况下的比较次数,并通过实例进行具体说明。

这个问题其实也没有多么复杂,但是网上这部分内容不多,故总结一下最优与最差比较次数。

n个元素线性表快速排序,最好情况下比较次数是多少?

参照严书的方法,以第一位作为标杆。

①考虑第一趟排序,无论怎样也要有n-1次比较次数;

②如果此时能把数据分成两部分,前一部分与后一部分元素个数相近,那样就是最优的。

  例如,4 1 2 3 5 6 7,经过一趟排序,变成 1 2 3 4 5 6 7 。也就是说,以4为标杆,一趟后分成了两部分,这两部分个数相同或相差  1,那么快排会很优。

  于是,可以想到,最优时,n个数,第一趟分成前(n-1)/2,后(n-1)/2两组,每组也是按照最优的分,设最优是an,于是有:

   an = a⌊(n-1)/2+a⌈(

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值