哈希基础知识总结(在参考文章基础上的补充)

参考文章

代码随想录 (programmercarl.com)

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[]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值