哈希表

2021/11/28

# 手写哈希表

知识点

名词 解释
哈希算法 哈希表内有一个哈希算法,将所有的键转化成字符串,再转化成数字,控制在【一定范围内】
哈希值 这个范围就是哈希表的长度,转化成的数字就是该项在哈希表内的下标
冲突 两个值通过哈希函数转码以后,基本很难发生重复(一般成千上万个能重复一两个),但是这种不同的键转化成了同一个哈希值就叫冲突
避免冲突 每个字符转码后乘以一个质数,能最大程度避免冲突【计算机大佬验证的规律】
解决冲突 如果发生冲突,可以用链地址法或者向下探索法进行解决冲突,常见的是链地址法
再哈希 哈希表需要控制size和整体哈希表长度的比例,才能最大程度的避免冲突,提高效率。常见范围【已有项/总长度 = (0.25 ~ 0.75)】如果发现超出了这个范围,就需要再哈希,重新定义哈希表的长度,并计算所有的值重新插入新的哈希表。
上次更新: 11/1/2024