我是哈希领域的初学者。我正在编写一个程序来索引字符串键。为此,我对 varachar(512) 键的前 3 个字符进行哈希处理,然后以数字形式获取哈希值。我打算使用该数值为我的数据编制索引。我允许发生冲突,也就是说,如果两个字符串的前三个字符相同,那么它们可能具有相同的哈希值。
现在,如果某些查询要查找特定的字符串键,我将首先对其进行哈希处理,然后在查找表中查找其哈希值是多少。
我是否需要为此目的存储一个查找表?或者我可以动态计算它的哈希值然后执行搜索吗?
如果是,如果我们考虑性能和优化作为主要标准,哪种结构会更好,我使用的是 C++。
谢谢!
最佳答案
STL 已有 unordered_map您可以将它与用户定义的类型和自定义哈希函数一起使用。
关于c++ - 使用字符串类型的键存储散列值的最佳结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9229995/