c++ - 非STL哈希表类型结构

标签 c++ hashtable

有没有一种方法可以编写简单的哈希表,将键作为“字符串”,将值作为频率,这样就没有冲突了?不会从哈希表中删除,如果该对象已经存在于哈希表中,则只需更新其频率(将它们加在一起)。

我在想可能有一种算法可以从将用作索引的字符串中计算出一个唯一的数字。

是的,我避免使用包括 unordered_map 在内的所有 STL 构造。

最佳答案

你可以使用任何完美的哈希生成器,比如 gperf

请在此处查看列表:http://en.wikipedia.org/wiki/Perfect_hash_function

附言。你仍然可能想要使用 map 而不是平面数组/vector ,以防映射域变得太大/稀疏

关于c++ - 非STL哈希表类型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917609/

相关文章:

Perl 打印哈希数组的数组?

C 哈希表指针错误

c++ - OpenCV (C++) 中 PNG 文件的 GrabCut 读取掩码

ruby - 如何重构这个 Ruby sanitize hash 方法以使其更加地道?

c++ - 使用声明 : one more bug of gcc and clang?

c++ - STL 排序不需要严格的弱排序才能工作吗?

c - 在 Lua 之外使用 Lua 的哈希表是否可能/实用?

c# - 如何获取哈希表条目的键

c++ - 为什么 system() 仍然存在?

c++ - 如何制作反比例循环?