小田田的算法笔记——随机算法

随机算法

|| 引言

分治、动态规划、贪心法、回溯和分支限界等算法的每一步计算都是确定的,但是在大多数情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时,因此随机算法可以在很大程度上降低算法的复杂性。随机算法的基本特征是对所求解问题的同一实例用同一随机算法求解两次可能得到完全不同的效果(所需时间或者计算结果)。

举例说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

|| 数值随机算法

在这里插入图片描述

  • 用随机投点法计算π值

在这里插入图片描述

在这里插入图片描述

  • 计算定积分

在这里插入图片描述

在这里插入图片描述

|| 舍伍德算法

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

|| 拉斯维加斯算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

|| 蒙特卡罗算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

|| 例题

在这里插入图片描述

(1) 
RandomBit()产生01随机数,每个概率为50%
现在要输出8个数据可以用RandomBit()产生三个随机
数,即X1=RandomBit()X2=RandomBit()X3=RandomBit(),输出4*X1+2*X2+X3+1即可
(2) 
int Random8()
{
    int X1 = RandomBit();
	int X2 = RandomBit();
	int X3 = RandomBit();
	return 	(4*X1+2*X2+X3+1);
} 
原创文章 12 获赞 7 访问量 889

猜你喜欢

转载自blog.csdn.net/tian__si/article/details/105847765