《算法导论》学习笔记之五:概率分析和随机算法

本文对比分析了概率分析和随机算法的特点与应用。概率分析基于输入假设进行分析,而随机算法通过设定输入分布来随机化过程,如在雇佣新人问题中体现。随机算法常为解决问题的简便高效方式,文中还提及了生日悖论等四个经典案例。
摘要由CSDN通过智能技术生成

概率分析和随机算法

概率分析

  对于概率分析,特点就是:在输入上假设。

随机算法

  随机算法的区别就在于不是像概率分析那样假设输入的一个分布,而是设定一个分布,即随机算法会随机化输入。
  举个例子吧,就是雇佣新人。

概率分析HIRE-ASSISTANT(n)
1best=0;
2for i = 1 to n
3  interview candidate i
4  if candidate is better than candidate best
5    best = i
6    hire candidate i

  看完这个可能感觉不到它的特点,再把随机算法的伪代码贴出来,大家体会一下:

随机算法RANDOMIZED-HIRE-ASSISTANT(n)
1randomly permute the list of candidate(这句话才是重点)
2best=0;
3for i = 1 to n
4  interview candidate i
5  if candidate is better than candidate best
6    best = i
7    hire candidate i

  到这里应该有体会了。概率分析和随机算法的区别在于:前者我们在输入做了一个假设,后者我们没有做这种假设,尽管随机化输入会花费一些额外时间。
  书里说到一个随机算法通常是解决一个问题最简单、最有效的方法,我还没有深刻的体会。
  5.4中提到了4个例子,大概记一下,分别是生日悖论、球与箱子、特征序列和在线雇佣问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚餐男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值