• unordered_map初用


    unordered_map,顾名思义,就是无序map,STL内部实现了Hash
    所以使用时可以当做STL的Hash表使用,时间复杂度可做到O(1)查询

    在C++11前,使用unordered_map要像这样写:

    #include <tr1/unordered_map> //在unordered_map之前加上tr1库名
    using namespace std::tr1; //加上命名空间
    

    C++11:

    #include <unordered_map>
    

    使用自己定义的结构体要重载"===="

    map和unordered_map的比较

    map:

    • 优点:

      • 有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会简化很多的操作
      • map底层是以红黑树的数据结构实现的,支持的搜索,插入,删除都是O(logn)的时间复杂度。
    • 缺点:

      • 空间占用率高,因为map内部实现了红黑树,虽然提高了运行效率,但 是因为每一个节点都需要额外保存父节点、孩子节点和红/黑性质,使得每一个节点都占用大量的空间

    unordered_map:

    • 优点: 因为内部实现了哈希表,因此其查找速度非常的快
    • 缺点: 哈希表的建立比较耗费时间
    • 适用处:对于查找问题,unordered_map会更加高效一些,因此遇到查找问题,常会考虑一下用unordered_map
  • 相关阅读:
    hbase编码
    kafka常用命令
    国产十大数据库排行榜
    After Titans
    kingbase7获取唯一索引和子分区键的view
    准提道人收孔宣
    MySQL使用全文索引
    instead of触发器实现复杂视图dml和应用逻辑
    中国oracle ace名单
    第六十象 癸亥
  • 原文地址:https://www.cnblogs.com/Orz-IE/p/12039459.html
Copyright © 2020-2023  润新知