收藏一个Hash算法
2012-12-27 15:13
204 查看
var rand = (function() { var seed = 49734321; return function() { // Robert Jenkins' 32 bit integer hash function. seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff; seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff; seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff; seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff; seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff; seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff; return (seed & 0xfffffff) / 0x10000000; }; })(); var map = {}, i = 1; var n = rand(); map = true; n = rand(); while( !(n in map) ) { i++; map = true; n = rand(); } console.log(i + ':' + n);
结果:16720次产生碰撞 : 0.06406551226973534
相关文章推荐
- 淘宝的一个自动补全提示的控件收藏
- [收藏] JavaScript 经典效果集 - 11.7更新大家欣赏,收藏完之后,别忘了留一个自己珍藏的好代码
- 分享一个火狐浏览器firefox的所有版本所有平台所有国家的地址,一定要收藏好哦^_^
- 打开窗口弹启一个带有收藏链接工具…
- 收藏了多个DLL合并成一个DLL,把DLL合并到Exe中的解决方案
- 一个值得收藏的popupWindow
- 看到一个比较好的BLOG,收藏下先。
- 收藏关于Linux IPC的一个系列的文章
- [收藏] 一个Smark Client的界面开发包
- 同一个activity中通过一个按钮切换两个不同的布局 分类: Android 2015-08-06 22:42 120人阅读 评论(0) 收藏
- 收藏一个仿照google的可以扭曲的验证码
- c/c++,输入一个字符 2014-11-20 07:00 30人阅读 评论(0) 收藏
- 如何成为一个C++高级程序员(收藏)
- 收藏一个SharedPreferences工具类
- 如何使用JRtpLib3.5.0库中的函数和类对象和让JRTPLIB 发送/接收数据时使用同一个端口收藏
- 收藏一个书籍下载好去处!
- 收藏一个帅气的技术网站
- [收藏]进退两难—一个项目经理的日记{作者john.shen}与四位专家的点评
- [收藏]进退两难—一个项目经理的日记{作者john.shen}与四位专家的点评
- 收藏一个查询手机归属地API方便找......