算法分析与设计学习笔记-概率算法

本文详细介绍了概率算法的三大类别:Monte Carlo、Las Vegas和Sherwood算法,通过实例展示了如何利用概率算法计算π值、数字积分、估计集合势和解决选择与排序问题。同时,讨论了在矩阵运算、离散对数计算和搜索有序表中的概率算法应用,以及如何通过Sherwood算法平滑不同输入实例的执行时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.概率算法

ch1.基本概念

概率算法分类:

数字算法

MC算法(Monte Carlo):MC算法总是给出一个答案,但该答案未必正确,成功(即答案是正确的)的概率正比于算法执行的时间,缺点:一般不能有效地确定算法的答案是否正确

LV算法 (Las Vegas算法):获得的答案必定正确,但有时它仍根本就找不到答案。

Sherwood算法:Sherwood算法总是给出正确的答案。当某些确定算法解决一个特殊问题平均的时间比最坏时间快得多时,我们可以使用Sherwood算法来减少,甚至是消除好的和坏的实例之间的差别.


ch2 数字概率算法

π值计算问题

实验:将n根飞镖随机投向一正方形的靶子,计算落入此正方形的内切圆中的飞镖数目k。假定飞镖击中方形靶子任一点的概率相等(用计算机模拟比任一飞镖高手更能保证此假设成立)  设圆的半径为r,面积s1= πr2;方靶面积s2=4r2

解决方法: Darts (n) {

Darts (n) {

k ← 0;
for i ← 1 to n do {
x ← uniform(0, 1);
y ← uniform(0, 1); // 随机产生点(x,y)
if (x2 + y
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值