参考文章
1、不同哈希的底层实现
(参考文章很详细)
其实本质上,我们利用哈希表是为了判断一个元素是否出现在集合里,把一次普通的遍历查找消耗O(N)降低到O(log(N))或者O(1);
2、自写哈希(不涉及红黑树,只是简单的解决冲突)
(先挖坑)
3、具体哈希系列函数的细节操作
1、map是键值对应,可以理解为数组的下标和下标内存储的值,并且map是根据键排序
2、map实际上可以看作以pair为储存对象的set容器
3、并且为了简化语法操作,map容器有和数组类似的operator[],但是注意和数组不同的是
map<string,double>salaries;
cout<<salaries["wang"];
输出未初始化的数据并不会报错,因为map容器查找到没有这个数据,会自动加入这个key,并将value初始化为0
4、if(map.find(rest) != map.end()){ //map.find(),如果map里面没有rest函数,则返回map.end(),即和第3点联动,需要查找数据的时候不可以通过operator[]。