代码随想录算法训练营Day5—哈希表part1

1.基础知识

        哈希表的基础理论见:代码随想录-哈希表基础理论

        哈希表(英文名为Hash table),数组就是一个简单的哈希表。

        哈希函数,通过hashCode,利用特定的编码方式,将其他数据格式转化为不同的数值。

        哈希碰撞,拉链法和线性探测法。

        常见的三种哈希结构,主要有:

  •  数组
  • set(集合)
  • map(映射)
集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率
std::set红黑树有序O(log n)O(log n)
std::multiset红黑树有序O(logn)O(logn)
std::unordered_set哈希表无序O(1)O(1)
映射底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率
std::map红黑树key有序key不可重复key不可修改O(logn)O(logn)
std::multimap红黑树key有序key可重复key不可修改O(log n)O(log n)
std::unordered_map哈希表key无序key不可重复key不可修改O(1)O(1)

        常见的map的基础知识见:C++之STL整理(3)之map 用法(创建、赋值、方法)整理_c++ map初始化-CSDN博客

c++ map基础知识、按键排序、按值排序 - 简书 (jianshu.com)

C++ 迭代器(iterator)超详解+实例演练_c++ iterator-CSDN博客

2.题目

2.1 

2.2 

3.总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值