C++ 无序_映射或哈希映射现有哈希函数修改?

C++ 无序_映射或哈希映射现有哈希函数修改?,c++,stl,hashmap,unordered-map,C++,Stl,Hashmap,Unordered Map,我使用了无序映射键的值可能高达1e9,这导致我的答案超出了时间限制 当我使用地图时,它是成功的 我从其他答案中了解到,当散列函数不好时,无序映射不好,有没有办法更改此无序映射的散列函数?是的,您可以这样做 std::unordered_map的第三个模板参数是将要使用的哈希函数,它应该是满足所列要求的函子。是的,您可以随意这样做 std::unordered_map的第三个模板参数是要使用的哈希函数,它应该是满足所列要求的函子。我认为可能还有另一个原因 与查找相比,如果有更多的插入和删除,则映射

我使用了无序映射键的值可能高达1e9,这导致我的答案超出了时间限制

当我使用地图时,它是成功的


我从其他答案中了解到,当散列函数不好时,无序映射不好,有没有办法更改此无序映射的散列函数?

是的,您可以这样做


std::unordered_map
的第三个模板参数是将要使用的哈希函数,它应该是满足所列要求的函子。

是的,您可以随意这样做


std::unordered_map
的第三个模板参数是要使用的哈希函数,它应该是满足所列要求的函子。

我认为可能还有另一个原因

查找相比,如果有更多的插入和删除,则
映射
会更快。但是,如果有更多的查找,那么
无序映射
应该可以提高性能

看看这个:


附言:为了更深入的了解,你能和我分享一下这个问题吗?

我想可能还有另一个原因

查找相比,如果有更多的插入和删除,则
映射
会更快。但是,如果有更多的查找,那么
无序映射
应该可以提高性能

看看这个:


PS:为了更深入地了解问题,您能和我们分享一下这个问题吗?

看看这个问题:
long-long-int
的标准哈希函数不太可能是坏的,而
map
更不可能是更好的。我认为您的问题可能是由其他问题引起的。请看一看:标准的
long long int
哈希函数不太可能是坏的,而
map
更不可能是更好的。我想你的问题可能是由其他问题引起的。也可以点击这里,谷歌或者点击链接查找任何你不懂的内容,这应该不会太难理解。也可以在这里查看,谷歌或跟踪链接,查找您不了解的内容,这应该不会太难理解。“如果与查找相比,有更多的插入和删除,那么map会更快。但是,如果有更多的查找,那么无序的_map应该会提供性能提升。”-这是非常冒昧的;很多将取决于键的冲突倾向性、哈希函数使用、哈希表大小(例如GCC倾向于使用素数大小、Visual C++功率为2)、CPU /内存/缓存体系结构属性、存储的值的数量…另请参阅与此相矛盾的硬统计数据。“如果与查找相比,有更多的插入和删除,则map速度更快。然而,如果有更多的查找,则无序的_-map应该会提供性能提升。”-这是非常冒昧的;很多将取决于键的冲突倾向性、哈希函数使用、哈希表大小(例如GCC倾向于使用素数大小、Visual C++功率为2)、CPU /内存/缓存体系结构属性、存储的值的数量…另请参见与此相矛盾的硬统计数据。