热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

是否有支持h(x)+h(y)=h(x+y)的字符串哈希函数

如何解决《是否有支持h(x)+h(y)=h(x+y)的字符串哈希函数》经验,请帮忙看看怎么搞?

我正在尝试使用字符串的哈希值来节省空间.我有一个非常具体的要求,其简化描述如下:

我有两组字符串值,并在运行时提供一个值.我需要从第二个集合中获取所有字符串的列表,该列表以第一个集合中的字符串开头,并以查询值结束.这是一个显着简化的表示和描述:

set1:
my_test_val_1
my_test_val_2

set2:
my_test_val_1_extended_to_another_value
my_test_val_2_extended_as_well

我的目标是保持这些集的哈希值,如下所示:

set1:
hash(my_test_val_1)
...

set2:
hash(my_test_val_1_extended_to_another_value)

为了节省空间,当'_extended_to_another_value'作为查询到达时,使用具有分布属性的哈希函数而不是:

hash(my_test_val_1) + hash('_extended_to_another_value') = hash_value_to_search

我的搜索尝试找到支持此属性的哈希函数失败最可能是因为没有使用正确的关键字进行搜索,因此即使您可以为我上面描述的内容描述正确的术语,它也会有所帮助


推荐阅读
author-avatar
jack2502937407
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有