哈希表/地图:从哪里开始

时间:2017-06-30 01:38:55

标签: algorithm performance vector hashmap hashtable

我正在寻找一个函数,它接受一个字符串并返回一个动态数组范围内的值,基本上是一个动态哈希表,但是我很困惑,从哪里开始,我有向下的向量,但我不知道哪种散列函数对运行时性能有好处 - 我希望它快速而且没有冲突,因此,如果你可以在候选实现或算法上分享一些资源,我很乐意

谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,有很多因素需要考虑。一个是哈希表的大小。哈希表只有在没有分数的情况下才有用,所以一个大的素数就可以了,但是如果数量很大你会浪费很多内存,你必须考虑你期望的数据量。如果你的素数很低,就会发生同样的情况,你强制创建重制哈希。

有2个解决方案,我知道,以防止崩溃: 每次碰撞发生时,U都可以在哈希内部创建另一个哈希或数组列表。

或者你也可以在每次碰撞时尝试将该信息放入哈希表的下一个空闲空间。