设为首页 加入收藏

TOP

STL中map与hash_map的比较
2014-07-19 23:03:56 来源: 作者: 【 】 浏览:75
Tags:STL map hash_map 比较

  STL中map与hash_map的比较

  1. map :

  C++的STL中map是使用 来做查找算法; 时间复杂度:O(log2N)

  2. hash_map :

  使用hash表 来排列配对,hash表是使用关键字 来计算表位置; 时间复杂度:O(1) , 最坏的时间复杂度:O(n)

  
总体来说
:hash_map 比 map 查找速度快,而且查找速度基本和数据量大小无关,属于常数级别,节省一定内存,如果没有必要排序的话,尽量使用 hash_map 。

  注: hash还有hash函数的耗时 。当有100w条记录的时候,map也只需要20次的比较,200w也只需要21次的比较!所以并不一定常数就比log(n) ;用map,还是hash_map,从3个方面来权衡: 查找速度,数据量, 内存使用 ,还有一个就是你的经验!没有特别的标准

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇基于ACE的定时器模板类 下一篇C++设计模式实现--职责链模式

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·CPython是什么?PyPy (2025-12-26 06:50:09)
·Python|如何安装seab (2025-12-26 06:50:06)
·python要学习数据分 (2025-12-26 06:50:03)
·每日一道面试题-多线 (2025-12-26 06:20:17)
·java项目中哪些地方 (2025-12-26 06:20:14)