BKDR字符串哈希

bkdrhash冲突的可能性非常小,但是由于\(hash\)值非常大不能映射到哈希数组地址上,所以可以通过取余,用余数作为索引地址。但这样做造成了可能的地址冲突。

#include <cstdio>
#include <cstring>
#include <iostream>
#include <string> const int maxn = 10005; char s[maxn]; unsigned int hash(const char *key) {
char *str = const_cast<char*>(key);
unsigned int seed = 131; // 31 131 1313 13131 131313 etc..
unsigned res = 0;
while (*str) {
res = res * seed + (*str++);
}
return res;
} int main() {
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%s", s);
unsigned int res = hash(s);
printf("%u\n", res);
} return 0;
}

最新文章

  1. 数据库优化案例——————某市中心医院HIS系统
  2. 《UML大战需求分析》阅读随笔(二)
  3. DOM、Window操作
  4. DSOFramer 之一:在 64 位系统注册 DSOFramer
  5. paip.杀不死进程的原因--僵尸进程的解决.txt
  6. 2015 UESTC Winter Training #4【Regionals 2008 :: Asia - Tehran】
  7. JVM 看不到某些异常的stacktrace问题(转)
  8. VS2015 企业版不支持 JavaScript 语法高亮、智能提醒
  9. [Leetcode][Python]32: Longest Valid Parentheses
  10. Hibernate入门之配置文件
  11. 【.NET-EF】Entity Framework学习笔记2 - 增删改(没查询)
  12. 浏览器播放rtsp流媒体解决方案
  13. c# List实现原理
  14. php 制作圆形图片
  15. SOAP Binding: Difference between Document and RPC Style Web Services
  16. Android开发技巧——PagerAdapter实现类的封装
  17. qt之图像处理
  18. Saltstack_使用指南01_部署
  19. Vue项目中GraphQL入门学习与应用
  20. Windows 10 IoT Core 17120 for Insider 版本更新

热门文章

  1. zabbix_server上的问题
  2. STM32F207时钟系统解析
  3. Pytorch入门——手把手教你MNIST手写数字识别
  4. 小白的经典CNN复现(二):LeNet-5
  5. Py数据类型—列表,字典,元组
  6. JAVA SSM整合流程以及注意点
  7. 支持 gRPC 长链接,深度解读 Nacos 2.0 架构设计及新模型
  8. 干货 | 携程多语言平台-Shark系统的高可用演进之路
  9. spring 之7种重要设计模式
  10. 一个关于ExecutorService shutdownNow时很奇怪的现象