为什么将偏移量增加 2 有意义?我知道这个算法有效,我已经绘制了导致 ax^2 类型图的结果,但我只是看不到它。有人可以简单地解释一下吗?谢谢!
size_t FindPos(const HashedObj & x) const {
size_t offset = 1;
size_t current_pos = InternalHash(x);
while (array_[current_pos].info_ != EMPTY && array_[current_pos].element_ != x) {
current_pos += offset;
offset += 2;
if (current_pos >= array_.size())
current_pos -= array_.size();
}
return current_pos;
}