有谁知道好的字符串hash算法,把字符串映射为32位的数

NosicLin 2012-02-23 09:58:38
因为最近在一个软件中遇到一个问题,该软件需要频繁有的字符串比较,所以想找一个hash算法把字符串映射为一个32位的数,加速字符串的比较。
...全文
467 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
NosicLin 2012-02-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rabbitlbj 的回复:]

如果重用率很高的话LZ直接效仿编译器存放文字常量的方式吧
[/Quote]
你这句提醒了我,刚才都没有反应过本,谢了哈,存文字常量,用地址来比较,这个方法不错。
NosicLin 2012-02-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 rabbitlbj 的回复:]

如果重用率很高的话LZ直接效仿编译器存放文字常量的方式吧
[/Quote]
文字常量主要用于重用率高的字符串,在静态语言中,不会引入新的字符串的情况下,效果会很好,但是这次要做的字符串事先不能确定。
RabbitLBJ 2012-02-25
  • 打赏
  • 举报
回复
如果重用率很高的话LZ直接效仿编译器存放文字常量的方式吧
NosicLin 2012-02-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 taodm 的回复:]

md5还差不多。hash的碰撞还是太高了
[/Quote]
md5我也考虑过,md5虽然冲突小,但是需要16字节来存储,而字符串的平均长度也才十多个字节,相比起来,对于效率没有什么明虽提升。
taodm 2012-02-23
  • 打赏
  • 举报
回复
md5还差不多。hash的碰撞还是太高了

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧