对数器
#
Math.random()#
等概率等概率返回一个
[0, 1)
左闭右开的随机数。包括0,不包括1。因为数字是有精读的。所以可以等概率
#
随机整数[0,7] => Math.floor(Math.random() * 8)
等概率返回 0 到 7 左闭右闭的树。
- 获得公式:
[0,x] = Math.floor(Math.random() * (x + 1))
#
x平方概率Math.max(Math.random(),Math.random())
取随机行为中的最大值返回,需要两个行为都是在范围内。
#
随机函数#
从 1~5 随机到 1~7通过一个随机函数fn,获得1~7的等概率随机函数。
const fn = () => Math.floor(Math.random() * 5) + 1
当前函数返回1-5的等概率随机数
- 通过
fn
函数获得一个0,1发射器
- 通过这个0,1发射器,再得到二进制的 0~7
- 等概率返回 0~6
- 等概率返回 1~7
#
从 0,1 不等概率,获得 0,1 等概率- 根据上面的函数,获得 g 函数,返回等概率的0,1
#
对数器用来验证当前算法写的是否正确的方法。核心思想:写一个复杂度高,但是简单的方法。优化算法的时候可以用对数器来进行算法调试。
- 验证一个排序算法是否正确