page contents

什么时候需要用hash_map,什么时候需要用map?

轩辕小不懂 发布于 2022-01-07 14:28
阅读 739
收藏 0
分类:C/C++开发
  • c
  • c++
  • 2837
    Nen
    Nen
    - 程序员

    总体来说,hash_map 查找速度会比 map 快,而且查找速度基本和数据数据量大小无关,属于常数级别;而 map 的查找速度是 log(n) 级别。

    并不一定常数就比 log(n) 小,hash 还有 hash 函数的耗时,明白了吧,如果你考虑效率,特别是在元素达到一定数量级时,考虑考虑 hash_map。但若你对内存使用特别严格,希望程序尽可能少消耗内存,那么一定要小心,hash_map 可能会让你陷入尴尬,特别是当你的 hash_map 对象特别多

    时,你就更无法控制了。而且 hash_map 的构造速度较慢。

    现在知道如何选择了吗?权衡三个因素: 查找速度, 数据量, 内存使用 。

    请先 登录 后评论