Don*_*Lun 2 c++ hash data-structures
在C++中,如何处理哈希映射中的哈希冲突?如果发生碰撞,将花费多少时间来搜索元素?
而且,什么是好的哈希函数?
根据您使用的系统,有许多不同的方法可以处理哈希映射中的冲突.以下是一些:
您选择的具体实施取决于您.去做最简单的事情.我个人认为链式散列(封闭式寻址)是最容易的,如果这个建议有帮助的话.
至于什么是一个好的哈希函数,这实际上取决于你存储的数据类型.例如,字符串的散列函数通常与整数的散列函数非常不同.根据您想要的安全保证,您可能希望选择加密安全散列SHA-256,或者只是简单的启发式,如单个位的线性组合.设计一个好的哈希函数是非常棘手的,我建议在得出结论之前,先挖掘一下你将要散列的特定结构的建议.
希望这可以帮助!