我必须使用openAddressing创建一个哈希表,并使用Linearprobing来解决冲突。
当数组大约40%满时,我调整了数组的大小。压缩函数使用简单的%命令进行压缩,因此当我调整大小(使数组加倍)时,我也改变了我在压缩函数中修改哈希码的因子。这使得插入具有10万个字符串的文件非常快,因为它确实避免了聚类。问题是现在的查找时间非常长,因为我不能通过采用哈希码直接转到索引,因为并非所有条目都由相同的mod因子修改? i,前1000个条目可能具有作为哈希码%1000给出的索引,现在当阵列调整为2000时,下一个条目的哈希码就像哈希码%2000一样。我这样做是为了避免大量线性探测并使其更均匀地传播。
那么我怎样才能更快地进行搜索?