在使用散列表(哈希表)时,若发生哈希冲突,则采用开放定址法中的线性探测法进行解决。线性探测法的意思是,当哈希函数计算出的地址已经被占用时,按照一定的步长 sequence 逐个查找后续的地址,直到找到空余的地址为止。
因此,当产生堆积现象时,即多个哈希函数计算出的地址发生冲突时,会依次查找后续的地址,因为步长 sequence 是固定的,所以线性探测法产生的堆积现象一般不会继续扩散,最多只会堆积至步长的范围内,但一旦找到空余的地址,就能够迅速在此处保存相应的数据,不会产生额外的散列表空间的分配和回收操作。
因此,虽然在使用线性探测时,会产生堆积问题,但这种问题不会影响散列表的存储效率,因为堆积范围有限,且插入、删除等操作可以在常数时间内完成,不会因为哈希冲突而影响到整体的存储效率。