一个简单有效的产生随机数且不重复的小算法--Robert Floyd
2015-02-13 05:49
302 查看
created by Robert Floyd
initialize set S to empty for J := N-M + 1 to N do T := RandInt(1, J) if T is not in S then insert T in S else insert J in S
这里N是随机数范围的最大值,M是要选取的随机数的数量
伪代码来源:Jon Bentley's Programming Pearls column "A sample of Brilliance"
相关文章推荐
- ios之算法-对随机数百分百产生有效不重复处理方法
- 一个产生不重复随机数的算法
- 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。自己写的算法
- 产生一个1-12的不重复的随机数
- AS3.0自定义一个产生无重复随机数的函数
- 关于产生不重复随机数的算法 C#
- 产生不重复随机数的简便算法
- 产生一个int数组,随机向数组中插入1-100的随机数且不能重复
- 随机生成不重复的随机数的简单算法
- 产生一个int数组,随机向数组中插入1-100的随机数且不能重复
- 关于产生不重复随机数的算法
- 如何快速产生一个1-n的无重复随机数序列
- 一个简单的子集产生算法
- 一个简单的子集产生算法
- 一种算法思想:关于产生m个n范围内的不重复随机数(m<=n)
- 如何产生不重复的随机数?最容易想到的方法,是逐个产生这些随机数,每产生一个,都跟前面的随机数比较,如果重复,就重新产生。这是个很笨的方法,且比较次数呈线性增长,越往后次数越多。其实这些比较是多余的,
- 一个简单的随机数生成算法实现(C++)
- C# 不重复随机数的产生算法!
- 关于产生不重复随机数的算法 C#
- 一个简单的扑克牌洗牌算法|无重复