zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    配置Log4j(非常具体)
    System.Net.WebClient.cs
    Code:获取指定汉字的首字母
    DBS:目录
    Jasper:推送 API
    Jasper-template
    Code:Base64 编码/解码
    DCloud-HTML5+:5+ App开发入门指南
    DCloud-HTML5+:barcode
    Nuget-QRCode:QRCoder
  • 原文地址:https://www.cnblogs.com/Orz-IE/p/12039459.html
Copyright © 2011-2022 走看看