-
哈希表是一种用空间来换取时间的高效桶式数据结构,一般可以在常数时间内回答对某个元素性质的询问。
-
一般在出现对于每个x有多少个P(x)符合要求这种情况时,经常用哈希表来存储x,同时x也称作关键字(key),这意味着对于每个x,都会对应一个符合条件的val值。
-
用途
-
哈希判重
我们可以开一个(map<int,bool>)或一个数组来判断是否有重复的元素出现
-
离散化(map)
-
-
哈希表的几个重要组成部分
- head[]:存储关键字的数组,数组大小为关键字的值域,一般是模数(1e6+3)
- tot,t[]:链式存储哈希表中的值
- int calc()函数:如何计算出每个元素对应的关键字
- bool equal()函数:判断两个元素是否相等,一般就是直接意义上的等于
- insert(int x)函数:将x插入哈希表