map/multimap/hashmap的区别
来源:互联网 发布:win10缺少一个网络协议 编辑:程序博客网 时间:2024/06/05 08:44
Map:
STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据映射处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的.
具体应用:点击打开链接
Multimap:
它与 map 类似,所不同的是它允许重复键。这个属性使得 multimap 比预想的要更有用:比如在电话簿中相同的人可以有两个以上电话号码,文件系统中可以将多个符号链接映射到相同的物理文件,或DNS服务器可以将几个URLs映射到相同的IP地址。
具体应用:点击打开链接
Hashmap:
hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的 情况下,用空间换时间的做法是值得的。另外,编码比较容易也是它的特点之一。
其基本原理是:使用一个下标范围比较大的数组来存储元素。可以设计一个函数(哈希函数,也叫做散列函数),使得每个元素的关键字都与一个函数值(即数组下 标,hash值)相对应,于是用这个数组单元来存储这个元素;也可以简单的理解为,按照关键字为每一个元素“分类”,然后将这个元素存储在相应“类”所对 应的地方,称为桶。
具体应用:点击打开链接
0 0
- map/multimap/hashmap的区别
- STL中map,multimap,hashmap的区别。
- map 和multimap 的区别
- STL中hashtable,hashset,hashmap,set,map,multiset和multimap的区别
- STL中hashtable,hashset,hashmap,set,map,multiset和multimap的区别
- STL关联容器MAP、SET与multimap、multiset与hashmap、hashset的区别
- STL中map,unordered_map,multimap的区别
- map/multimap的简介
- map/multimap的实例
- map/multimap的排序
- ++ map、multimap 的使用方法
- hashtable,hashset,hashmap,set,map,multimap,multiset
- Map 与 HashMap 的区别
- c++ map、multimap 的使用方法
- map与multimap的用法
- c++ map、multimap 的使用方法
- c++ map、multimap 的使用方法
- map与multimap区别,find具体使用
- Vim常用命令
- php的sso单点登录实现方法,代码实例!
- jquery源码——jquery.fn.access()函数
- 3-5 学生成绩统计
- poj 2513 欧拉回路+并查集+字典树
- map/multimap/hashmap的区别
- Service的两种启动用法
- Android开发需要掌握的技能点总结(上)
- linux下shell的$带的-操作,比如ne等
- docker registry 镜像删除
- Redis和Memcached的区别
- 在阿里云上架设Java Web服务器
- Jquery 类选择器的事例代码
- 16.10.15 C组1295. 【USACO DEC05 GOLD】设计