O(1)中的唯一随机数?
我想要一个伪随机数生成器,它可以按随机顺序生成没有重复的数字.
例如:
随机(10)
可能会返回5,9,1,4,2,8,3,7,6,10
有没有更好的方法来做到这一点,除了使数字的范围和洗牌,或检查生成的列表重复?
此外,我希望它在没有整个范围的情况下有效地生成大数字.
我看到每个人都建议使用随机算法.但是,如果我想生成大的随机数(1024字节+),那么该方法将占用更多的内存,而不是我刚使用常规RNG并插入到Set中,直到它是指定的长度,对吧?对此没有更好的数学算法.
c c++ random algorithm
algorithm ×1
c ×1
c++ ×1
random ×1