社区
数据结构与算法
帖子详情
快速生成10亿个不重复的18位随机数的算法
江海门户
2009-05-04 10:49:10
加精
求一种快速生成随机数的算法,问题如下:从0~9、a-z中随机抽取18个字符组成一个18位随机数,一共需要生成10亿个这样的随机数,然后把这些随机数写入文件,算法需要尽量快速,本算法需解决的两个最大的问题就是:1、10亿数据量的规模对算法速度和文件存储方式的要求。2、生成不重复数据的算法。需要严格的可证明的不重复算法,不能用概率论的方式
...全文
11763
305
打赏
收藏
快速生成10亿个不重复的18位随机数的算法
求一种快速生成随机数的算法,问题如下:从0~9、a-z中随机抽取18个字符组成一个18位随机数,一共需要生成10亿个这样的随机数,然后把这些随机数写入文件,算法需要尽量快速,本算法需解决的两个最大的问题就是:1、10亿数据量的规模对算法速度和文件存储方式的要求。2、生成不重复数据的算法。需要严格的可证明的不重复算法,不能用概率论的方式
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
305 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjrabbit007
2010-12-29
打赏
举报
回复
高人真多啊..学习来了。
xiaofang1861
2010-12-14
打赏
举报
回复
看看解决
tyzqqq
2010-12-03
打赏
举报
回复
sdc5200
2010-10-17
打赏
举报
回复
接分。。。。。。。。。。。
lzc52151
2010-06-04
打赏
举报
回复
mark
ziyan688999
2010-05-06
打赏
举报
回复
可验证的 不重复。
没一个达到
布鞋刚哥
2009-12-04
打赏
举报
回复
我悄悄的来,正如我悄悄的走~~~~~~~
MinSi
2009-12-03
打赏
举报
回复
产生不重复的10E个序列后,使用随机将顺序打乱。然后再保存。
芽疼
2009-11-19
打赏
举报
回复
我晕啊。。。。
窝鹏偏逢连夜雪
2009-11-18
打赏
举报
回复
[Quote=引用 8 楼 hairetz 的回复:]
引用楼主 kikikaki 的帖子:
求一种快速生成随机数的算法,问题如下:从0~9、a-z中随机抽取18个字符组成一个18位随机数,一共需要生成10亿个这样的随机数,然后把这些随机数写入文件,算法需要尽量快速,本算法需解决的两个最大的问题就是:1、10亿数据量的规模对算法速度和文件存储方式的要求。2、生成不重复数据的算法。需要严格的可证明的不重复算法,不能用概率论的方式
需求很诡异,完全不重复,你这个还能叫随机数不。
[/Quote]
同意
hwjp316
2009-07-15
打赏
举报
回复
利用CMapStringToOb类进行存储和比较
hecker728
2009-06-03
打赏
举报
回复
mark
zhaoweiting0609
2009-05-27
打赏
举报
回复
mark
wu_xiang_yang1
2009-05-13
打赏
举报
回复
好牛呀!
coxfilur_2008
2009-05-13
打赏
举报
回复
第一次看到技术排名在前50的回帖,mark
hui717
2009-05-12
打赏
举报
回复
在10亿的量中,如何检测重复的,也有一个好办法。你把这10亿个码写入数据库中。
然后再
select distinct 就找出所有不重复的了。然后再随机生成一些来补足10亿个就可以了
hui717
2009-05-12
打赏
举报
回复
我认为有一个很好的方法。
用GUID,
生成10亿个GUID,然后取前18位的。然后再检查哪些重复的,把重复的去掉,再随机生成补足10亿个即可。
agel0ver
2009-05-11
打赏
举报
回复
楼上正解
BlueSky4014
2009-05-11
打赏
举报
回复
回帖是一种美德!每天回帖即可获得 10 分可用分!
itfamily
2009-05-11
打赏
举报
回复
学习~
加载更多回复(279)
一
亿个
不
重复
的
随机数
算法
最近浏览“程序员论坛”时发现不少好帖,增长了不少知识,现拿其中一则为例与大家共同分享心得。 某人提出一个问题:怎样才能
生成
一
亿个
不
重复
的
随机数
? 问题表述起来很简单,似乎只要弄明白什么叫
随机数
以及怎样用电脑
生成
随机数
,就能解决问题。
随机数
,个人理解为一定范围内出现的毫无规律的数,比如扔一个骰子,落在桌面上时朝上的一面所表示的数就是
随机数
,这个数只能在1到6的范围内,但具体是什么...
一个非常简单粗暴又理论上不会
重复
的
随机数
算法
而且sin的周期是2π,一个整数或者有限位的小数加多少次也加不出π的整数倍,所以在忽略精度溢出的情况下,可以说应该永不
重复
,同时可能落在取值范围内任意一个非无限小区间。平方取中,线性同余以及java自带的Random(这个好像用的也是线性同余?以一个long或者double作为种子-seed,以一个整数或者有限位浮点数为a。
生成
的第n个
随机数
为sin((n-1)*a+seed)。不知道如此简单的方案之前有没有人想到过,但不论有没有,我当时想到的时候觉得自己像个小天才(厚着脸皮夸一下自己)。
随机
生成
13位绝对无
重复
随机数
的高效方法
问题思路: 1、 预先
生成
好所有无
重复
随机数
并存储,按需取数; 2、 随机
生成
,即时比对当前所有已
生成
数。若存在,则重新
生成
。 3、 寻找一个好的无冲突的hash
算法
(或冲突概率较低)。 4、 按照一定的
算法
来
生成
伪
随机数
,要求满足一定数量级内无相似度或较低相似度。 随机就不可能不
重复
,故任何
算法
不可能实现真正的随机.只是能够在一定程度上防止高频度的碰撞及相...
如何
生成
10
0个1-
10
0以内的不
重复
的
随机数
这是个经典的面试题目:
生成
长度为
10
0的数组,插入1-
10
0以内的但均不
重复
的
随机数
一、简单实现思路:(1) 把N个数放入Hashtable 或者arrayList 中.(2) 从上面的集合中随机抽取一个数放入int数组中.(3) 把取出的这个数从上面的集合中删除.(4) 循环 (2),(3) 步骤,直到int数组取满为止. 这是一种比较简单的实现思路,实现代码如下:import java.util
c语言
随机数
算法
csdn,
随机数
生成
算法
-初探
1、线性同余
算法
:现在用得最广泛的伪
随机数
产生
算法
就是所谓的线性同余
算法
。其
随机数
序列{Xn}由方程:Xn+1 = ( aXn + c ) mod m得到,其中m>0称为模数,0≤ a 很明显,对一个线性同余随机产生
算法
来说,最重要的是m、a、c的选择。我们希望产生的序列足够长,能包含[0,m)内所有的数,并且产生的数是随机的,最好能用32bit算术高效实现。于是乎为了有足够的空间产生足够长...
数据结构与算法
33,010
社区成员
35,328
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章