有没有一种方法可以编写简单的哈希表,将键作为“字符串”,将值作为频率,这样就没有冲突了?不会从哈希表中删除,如果该对象已经存在于哈希表中,则只需更新其频率(将它们加在一起)。
我在想可能有一种算法可以从将用作索引的字符串中计算出一个唯一的数字。
是的,我避免使用包括 unordered_map 在内的所有 STL 构造。
最佳答案
你可以使用任何完美的哈希生成器,比如 gperf
请在此处查看列表:http://en.wikipedia.org/wiki/Perfect_hash_function
附言。你仍然可能想要使用 map 而不是平面数组/vector ,以防映射域变得太大/稀疏
关于c++ - 非STL哈希表类型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917609/