【数据结构系列1】Hash_Map
来源:互联网 发布:网络禁书大合集 编辑:程序博客网 时间:2024/06/14 20:47
hash_map和map的区别在哪里?
- 构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).
- 存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。
总 体来说,hash_map 查找速度会比map快,而且查找速度基本和数据量大小无关,属于常数级别;而map的查找速度是log(n)级别。理论上hash_map比map效率要高很多,一个查找时是接近O(1),一个是O(lg N)
并不一定常数就比log(n) 小,hash还有hash函数的耗时,明白了吧,如果你考虑效率,特别是在元素达到一定数量级时,考虑考虑hash_map。但若你对内存使用特别严格,希望程序尽可能少消耗内存,那么一定要小心,hash_map可能会让你陷入尴尬,特别是当你的hash_map对象特别多时,你就更无法控制了,而且 hash_map的构造速度较慢。
现在知道如何选择了吗?权衡三个因素: 查找速度, 数据量, 内存使用。
参考:
http://blog.csdn.net/fuyunzhishang1/article/details/48181141
阅读全文
0 0
- 【数据结构系列1】Hash_Map
- 数据结构:hash_map原理
- 数据结构:hash_map原理
- 数据结构大总结系列之从HASH谈到set/map再到hashtable/hash_map/hash_set
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 详细解说STL hash_map系列
- 考OCP的经历及总结
- Java 中的HashMap<Key,Value>泛型类
- redis 常用命令学习2
- arudino学习(二)读取mpu6050的值
- linux系统目录结构
- 【数据结构系列1】Hash_Map
- SVN+Axure合作开发原型图
- 1051. Pop Sequence (25)
- win7下安装gluon步骤
- Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
- linux安装yum
- 校招准备系列:每天一道算法题(8)-进制转换
- 滴滴2018校招Java岗编程
- POJ 1975:Median Weight Bead