我想在c ++中创建一个用于存储字符串的哈希表。我愿意写一个好的哈希函数来尽可能避免冲突。作为示例哈希函数,我使用了以下方法:
function Hash(string)
返回(字符串中字符的ASCII值的总和)mod PrimeNumber
端
这个功能是否足以避免碰撞或是否还有其他好的功能?请帮助:)
N.B:不允许STL
答案 0 :(得分:2)
c ++ 11已经为你不需要引入的字符串提供了一个很好的哈希函数。请参阅:http://www.cplusplus.com/reference/unordered_map/unordered_map/operator[]/