• 利用unordered_map代替hash_map My Study


    利用unordered_map代替hash_map - My Study

    利用unordered_map代替hash_map

    • 实验环境
      1. 操作系统 fedora9
      2. 编译器版本 gcc4.3
    • 实验方式
      各种map使用插入和查找,比较速度和相关性能
    • 代码
      • 参考代码
      • 下面测试说明了速度之间的比较:
    map类型 插入速度 插入和查找速度
    hashmap0m0.123s0m0.369s
    map0m0.190s0m0.681s
    unordered_map0m0.123s0m0.315s

    • 为什么要使用unordered_map代替hash_map?
      • 因为标准化的推进,unordered_map原来属于boost分支和std::tr1中,而hash_map属于非标准容器。
      • 另外,使用之后,感觉速度和hash_map差不多,但是支持string做key,也可以使用复杂的对象作为key。
      • gxx需要添加编译选项:-std=gnu++0x或者-std=c++0x
      • 在/usr/include/c++/4.3.0/backward/backward_warning.h文件中,明确写道:

    This file includes at least one deprecated or antiquated header which \ may be removed without further notice at a future date. Please use a \ non-deprecated interface with equivalent functionality instead. For a \ listing of replacement headers and interfaces, consult the file \ backward_warning.h. To disable this warning use -Wno-deprecated.

    /* A list of valid replacements is as follows:

    Use: Instead of:
    <sstream>, basic_stringbuf <strstream>, strstreambuf
    <sstream>, basic_istringstream <strstream>, istrstream
    <sstream>, basic_ostringstream <strstream>, ostrstream
    <sstream>, basic_stringstream <strstream>, strstream
    <unordered_set>, unordered_set <ext/hash_set>, hash_set
    <unordered_set>, unordered_multiset <ext/hash_set>, hash_multiset
    <unordered_map>, unordered_map <ext/hash_set>, hash_map
    <unordered_map>, unordered_multimap <ext/hash_set>, hash_multimap
    <functional>, bind <functional>, binder1st
    <functional>, bind <functional>, binder2nd
    <functional>, bind <functional>, bind1st
    <functional>, bind <functional>, bind2nd
    <memory>, unique_ptr <memory>, auto_ptr
    */

  • 相关阅读:
    luogu1196 银河英雄传说 (并查集)
    [BZOJ2243][SDOI2011]染色
    [BZOJ1879] [Sdoi2009]Bill的挑战
    [Noip2003] 侦探推理
    [Noip2005] 篝火晚会
    [JZOJ100047] 【NOIP2017提高A组模拟7.14】基因变异
    [九省联考2018]一双木棋chess
    [Noip2009] 靶形数独
    [Luogu2737] [USACO4.1]麦香牛块Beef McNuggets
    [BZOJ3109] [cqoi2013]新数独
  • 原文地址:https://www.cnblogs.com/lexus/p/2938163.html
Copyright © 2020-2023  润新知