码迷,mamicode.com
首页 > 其他好文 > 详细

STL中map与hash_map的比较

时间:2014-06-28 23:22:16      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   strong   数据   算法   

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个方面来权衡: 查找速度,数据量, 内存使用还有一个就是你的经验!没有特别的标准

STL中map与hash_map的比较,布布扣,bubuko.com

STL中map与hash_map的比较

标签:style   color   使用   strong   数据   算法   

原文地址:http://www.cnblogs.com/wuchunming/p/3794206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!