哈希hash
什么是哈希
- 哈希表是一种散列表,可支持插入元素和查询元素的操作。
- 当元素的取值范围特别大时,布尔数组的下标无法支持,这时可以用到哈希表。
操作
- 对于一个哈希表,需要取一个固定的模数 p p p,哈希表的下标可以开到 p p p的 1 − 2 1-2 1−2倍大,
- 具体怎么用请往下看:
插入元素
- 例如有如下元素 18 , 9 , 13 , 5 , 31 18,9,13,5,31 18,9,13,5,31,要把它们存入一个哈希表中,
- 当前 p = 13 p=13 p=13
- 放入 18 18 18,对 p p p取余,得到 5 5 5,那么就在 h a s h [ 5 ] = 18 hash[5]=18 hash[5]=18;
- 放入 9 9 9,对 p p p取余,得到 9 9 9,那么就在 h a s h [ 9 ] = 9 hash[9]=9 hash[9]=9;
- 放入 13 13 13,对 p p p取余,得到 0 0 0,那么就在 h a s h [ 0 ] = 13 hash[0]=13 hash[0]=13;
- 放入