任何hash算法都有可能冲突,那么hash_map在什么情况下还能用呢?
例如,我要保存10万个主机的名字,做一个hash用于查找。
但是任何hash算法都有可能产生冲突,那么当冲突发生的时候,不同的key算出相同的value,岂不是这个key就覆盖了之前有相同value的key,之前的key被覆盖了?
怎么解决呢?
[解决办法]
这个在任何一个介绍hash思想或实现的文章里都有吧,百度能搜出一大堆
[解决办法]
解决冲突问题是hash表的一个要点,最简单的,你把每一个value值做成一个链表啊,如果发现hash后找到的value链表是多个值,那么遍历判断就是了。
[解决办法]
hash有防冲突机制,好几种算法。
[解决办法]
冲突只影响效率,不会导致逻辑错
[解决办法]
先好好看书好吗?至少看一遍
[解决办法]
可以用multimap的hash去做,但是需要判断找到的是一个还是多个。另外可以用hash的防冲突机制提示主机名字重复需要修改名字做到。