c++中的64位哈希表
64 bit hash table in c++
我需要一个使用64位作为哈希的哈希表。
为了更清楚,unordered_set
接收一个模板参数Hash
,它是一个函子,接受类型为Key
的参数并返回一个32位无符号整数。
我只需要类似的东西——它应该采用一个模板参数Hash
,这是一个接受类型为Key
的参数并返回64位无符号整数的函子。
有人知道这样一个容器吗(最好是在STL这样的纯头库上)?
这里有一个流行的字符串哈希函数
size_t hash( const char * string )
{
size_t result = 0;
while( *string != 0 ) {
result = result * 31 + *string++;
}
return result;
}
编写新的散列函数是计算机人过去流行的一段时间,所以我并不是说这是最好的。但关键是,结果类型不需要更大就可以处理更大的字符串。
相关文章:
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- 用C++将哈希表写入文件并从文件中恢复
- 如何为字符串生成唯一但一致的 N 位哈希(小于 64 位)?
- C++中的并发哈希表
- 在具有开放寻址的哈希表中插入节点 [优化逻辑]
- 与C++哈希表的基础知识混淆
- 调整大小和复制哈希表数组中的元素
- 带链接的基本哈希表
- C++哈希表中,两个相同的实现,但一个给出错误
- 如果索引不是整数,我们如何在 C++ 中插入哈希表
- 查找项目在哈希表中的位置
- 为什么C++ STL 哈希表 (unordered_map) 不接受向量作为键
- C++哈希表 - 如何解决自定义数据类型作为键的unordered_map冲突?
- 使用哈希表设置实现
- 同时写入和读取哈希表
- 在 C++ 中为特定哈希表创建插入函数
- 我可以比朴素哈希表更快地将随机字符串映射到两个类吗?
- 哈希表:船舶记录
- c++中的64位哈希表