算法
爱钓鱼的程序猫
这个作者很懒,什么都没留下…
展开
-
二分查找算法,折半查找,PHP的实现
<?php/** 算法要求:1,顺序的存储结构。2,按大小有序排列** 算法查找过程:假设是一张升序的表,* 1,关键字与中间位置比较,相等则查找成功。* 2,大于中间位置,则将表对半拆,取后半段的表,然后重新对比中间位置的值。* 3,小于中间位置,则将表对半拆,取前半段的表,然后重新对比中间位置的值。* 4,如果中间位置与开始位置相等,则查找失败。* Author: l...原创 2019-01-07 08:47:25 · 444 阅读 · 3 评论 -
DJB Hash Function,也称times33算法, php的实现与分析-算法
DJBX33A又叫Times33哈希算法的实现与分析算法:对字符串的每个字符,迭代的乘以33,目的把字符串转换成整数公式: hash(i) = hash(i-1)*33 + str[i] ; 乘于33是为了减少碰撞重复,简单点理解就是1+2和2+1是一样的,那1*33+2和2*33+1就不一样了。为什么要用33,因为33是一个素数,能更好的散列,PHP内置的Hash函数用的素数...原创 2019-01-07 08:53:58 · 393297 阅读 · 49 评论 -
一致性哈希算法的php实现与分析-算法
<?php/** 一致性哈希算法* 过程:* 1,抽象一个圆,然后把服务器节点按一定算法得到整数有序顺时针放到圆上,圆环用2^32 个点来进行均匀切割。* hash函数的结果应该均匀分布在[0,2^32-1]区间* 2,由于服务器少,在圆上分布不均匀会造成数据倾斜,所以我们使用虚拟节点代替服务器的节点,一个服务器生成32个虚拟节点,或者更多。* 3,数据要存到服务器上,通过同...原创 2019-01-07 08:56:07 · 4146 阅读 · 34 评论 -
PHP生成简短的字符串唯一值用于做短网址或者邀请码等等
需求:一个简短的字符串,唯一值参数:一个唯一值ID,可以从数据库取出,或者通过算法得出。方法:使用32进制。PHP的实现:function genCode($id, $formate=5){ $code=''; //36位 $list=[0,1,2,3,4,5,6,7,8,9,10, 'a','b','c','d','e','f', ...原创 2019-04-23 09:32:12 · 5385 阅读 · 0 评论