最近看书,里面提到了一些Hash算法。比较有印象的是Times33,当时理解不是很透测,今天写了段程序来验证了一下。
先上代码:
复制代码 代码如下:
<?php

/**
* CRC32 Hash function
* @param $str
* @return int
*/
function hash32($str)
{
return crc32($str) >> 16 & 0x7FFFFFFF;
}
/**
* Times33 Hash function
* @param $str
* @return int
*/
function hash33($str)
{
$hash = 0;
for($i=0; $i<strlen($str); $i++) {
$hash += 33 * $hash + ord($str{$i});
}
return $hash & 0x7FFFFFFF;
}
$n = 10;
// Test Case 1
$stat = array();
for($i=0; $i<10000; $i++){
$str = substr(md5(microtime(true)), 0, 8);
$p = hash32($str) % $n;
if(isset($stat[$p])){
$stat[$p]++;
}else{
$stat[$p] = 1;
}
}
print_r($stat);
// Test Case 2
$stat = array();
for($i=0; $i<10000; $i++){
$str = substr(md5(microtime(true)), 0, 8);
$p = hash33($str) % $n;
if(isset($stat[$p])){
$stat[$p]++;
}else{
$stat[$p] = 1;
}
}
print_r($stat);
以上有两个测试用例。第一个,用CRC32的方法;第二个是Times33的算法实现。
效果:
结果分布,两种算法不相上下(估计是数据源的问题,md5只有0-f)。也有文章说CRC32的分布更均匀(参考链接:)
但耗费时间,CRC32比Times33快将近一倍。
为什么是33?
即是素数(质数),也是奇数。除了33,还有131, 1313, 5381等。PHP内置的Hash函数用的是5381,在“鸟哥”的一篇博文中也有提到。
相关推荐:
seo适合什么职业,seo有前途么 ,ai小精灵
OpenArtAI如何进入:数字艺术的未来之门,分析海报ai
AI免费文章生成器:轻松创作高质量内容的终极工具
OpenAI您的信用卡被拒绝了?请尝试用借记卡支付,轻松解决支付问题!,ai cdr缩略图补丁
优化原理:提升效率、创新突破的核心法则,印刷包装推广有哪里网站
ChatGPT诞生背景:人工智能如何突破语言的边界,ai辅助市场调研
SEO符合:提升网站排名的秘诀,助力企业赢在搜索引擎优化的赛道,优化没续费 网站没了
WPJVX:开启数字化未来的智慧平台,关键词排名技术咨询乐云seo
用AI写科普文章:科技改变写作的未来
OpenAI新产品与现有技术的完美结合:赋能未来的智能变革,培训 ai
AI助手不需要登陆-畅享便捷生活,随时随地高效工作,ai客服 对话
GPT-3.5可以免费使用吗?AI未来的无限可能,ai烧猪
ChatGPTO1免费:突破智能聊天的极限,体验AI无限可能,糯米ai唱歌
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
SEO快速提升SEO排名的有效策略:让你的网页飞跃搜索引擎,ai调色食物
SEO售产-数字营销新战场,助力企业实现盈利增长,去哪找自贡网站建设
seo的推广工具,seo推广软件哪个好 ,国内ai写作论文怎么样
SEO能够助力网站流量增长,提升品牌竞争力,Seo网站排名原理
SEO资讯:最新趋势,提升网站排名,快速突破流量瓶颈,廊坊seo推广咨询服务
SEO与SEM策略:提升网站流量与品牌曝光的双剑合璧,ai补图
SEO全套秘籍:提升网站流量与排名的终极指南,荣昌手机网站建设
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
互联网时代的“搜索截流”新玩法:如何抓住流量红利,甘孜做优化网站软件
如何识别文章是否由AI写作:技巧与方法解析
SEO提高:如何通过精准优化让网站流量翻倍,优化排名seo加盟费用
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
ChatGPT免费版的限制:你需要了解的5大制约因素,Ai分解模型
ChatGPT198元永久会员,开启智慧之门,体验AI的极致服务!,老孙教ai
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
什么是“神马关键词”?如何用它提升你的网络营销效果?,新闻发布网站怎么做推广
seo需要了解什么,seo需要学些什么内容 ,ovo ai
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
什么是seo网站推广,什么是seo网站推广 ,ai酷男人
为什么选择B站VIP?让你畅享更丰富的视听体验,小门类网站seo
AI上的文章属于原创吗?人工智能创作内容的归属问题
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
ChatGPT无法加载?检查您的网络设置并尝试重启Chat,ai写作怎么写作文的
SEO做网站点击:提升网站流量的关键策略,国内ai写作论文
ChatGPT网页版为什么不能用了?解析原因与解决办法,女人莫名其妙想ai
文字生成AI开启创作的新纪元
SEO师:如何在数字时代为企业赢得流量与销量,十堰网站关键词优化教程
ChatGPT异常了:人工智能的极限与突破,ai and ethics
什么是seo艺术,什么是seo seo有何价值 ,ai写作生成器 推荐
ChatGPT出问题?背后的原因与解决方案,夸克ai写作生成
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
AI免费生成文本,内容创作新篇章
seo要学什么技术,seo要学什么技术好 ,ai.fale
文章AI生成标题:让创作更轻松,内容更精彩
打造高效创作体验,写文章AI软件重塑内容生产力
AI免费工具:提升效率与创意的秘密武器