哈希表理论基础
1、哈希表
- Hash Table
- 根据关键码的值而直接进行访问的数据结构
以数组为例,关键码指的是下标,通过下标访问数组中的元素
解决问题:
快速判断一个元素是否出现集合(无重复元素)里。
例如:查询一个名字是否在这所学校里
枚举法:时间复杂度O(n)
哈希表:时间复杂度O(1)
2、哈希函数
3、常见的三种哈希结构
- 数组
- set(集合)
- map(映射)
python的实现与代码:
数据结构(Python)实现
总结
总结一下,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。
但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。
如果在做面试题目的时候遇到需要判断一个元素是否出现过的场景也应该第一时间想到哈希法!