算法学习---关于快速排序,数据呈现基本有序和完全无序时候导致的时间复杂度增n^2的解决方案

             前言--------------------大笑经过了一段考研学习,也该是时候准备准备复试或者准备今后的工作面试了,那么对于我之前喜欢暴力解法的初级童鞋来说,在算法学习中其实挺迷茫的,所以就想借助写个博客加深对算法学习的深刻,希望有看到的大神多多指教,嘿嘿,下面直接来代码。

  

                                                         快排中时间复杂度增大解决方案


我们采取随机取主元对每个区间进行大小分隔,其时间复杂度虽然为o(n^2) ,但其对任意输入数据的期望时间复杂度都能达到o(nlogn);


                         

#include<cstdio>
#include<stdlib.h>
#include<time.h>
#include<math.h>



//快速排序 针对有序 反序的 改进的 


const int maxn=100;


int a[maxn];




int randPartition(int a[],int left,int

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值