随机算法之舍伍德算法

不管那么多,先做下笔记,保留一些战果吧!

首先是舍伍德算法

这个算法的核心就是去除因为实例造成计算时间过长的情况。

最简单的例子,就是在排序的时候,我们知道如果排的序列是这个:

5,4,3,2,1

而你需要正序排列,每次选取第一个数作为基数,那么就会发现其时间复杂度居然是n^2

所以我们在通常不知道输入样例的情况下,希望尽可能的避免出现这种状况

这就涉及舍伍德随机算法了,其实就是把一些东西随机化

例如在对输入的数组进行随机,因为最后的排序结果依旧是相同的,所以是可行的

这样做的好处就是,不管你输入的是什么,反正我都随机了,至于随机的结果好与坏那是另外一个问题,服从均匀分布

好的时候可能是:1,2,3,4,5,

坏的时候可能是:5,4,3,2,1

但是此时已经与你输入的是什么无关了,只与概率相关,这样的话就会尽可能的避免因为用户的输入造成一些不好的结果。

转载于:https://www.cnblogs.com/gambler/p/9237292.html

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值