字符串hash最高效的算法,  搜了一下,  原理是: 字符串的字符集只有128个字符,所以把一个字符串当成128或更高进制的数字来看,当然是唯一的

这里unsigned不需要考虑溢出的问题,  不过周神说:  碰撞率很小是因为n阶多项式最多n个根. 也是有道理的.

最后 hash & 0x7FFFFFFF 只是为了返回一个int

 // BKDR Hash Function
unsigned int BKDRHash(char *str)
{
unsigned int seed = ; // 31 131 1313 13131 131313 etc..
unsigned int hash = ; while (*str)
{
hash = hash * seed + (*str++);
} return (hash & 0x7FFFFFFF);
}

最新文章

  1. 分页插件思想:pc加载更多功能和移动端下拉刷新加载数据
  2. ruby
  3. NOI2014 随机数生成器
  4. WebForm
  5. Python开发—Ajax系列
  6. Tomcat+redis+nginx配置
  7. Spring MVC @RequestMapping注解详解
  8. WIN10中DOCKER的安装
  9. NIO(四)
  10. ARMV8 datasheet学习笔记4:AArch64系统级体系结构之Generic timer
  11. 菜鸟学SSH(七)——Spring jar包详解
  12. win7下配置spark
  13. Spring cloud ReadTimeout 问题解决
  14. RabbitMQ + topic发送消息+python
  15. NumPy字节交换
  16. boost库的配置——Linux篇
  17. 领扣[LeetCode]从零开始[使用C++][1,10]
  18. background 背景图铺满界面
  19. rtmp jwplayer简单应用
  20. 索尼(SONY) SVE1512S7C 把WIN8降成WIN7图文教程

热门文章

  1. <form>(表单)标签和常用的类型
  2. 用windows命令解压chm文件
  3. poweroj1745: 餐巾计划问题
  4. 用js实现base64编码器
  5. 深度优先搜索(Depth-First-Search)精髓
  6. python类相关总结(持续更新)
  7. 严格模式下顶层箭头函数this指向的是全局对象
  8. springmvc 传参Required String parameter 'xxxx' is not present
  9. Win7下设置WiFi热点
  10. Elasticsearch入门学习重点笔记