线性探测的步长几乎总是 1,但使用其他步长是可以接受的,只要步长与表大小相对质数,以便最终访问每个索引。如果不满足此限制,则可能无法访问所有索引...
(基本问题是:您需要从任意索引开始访问数组中的每个索引,并向前跳过固定数量的索引 [跳过] 到下一个索引,必要时使用模数换行到数组的开头。)
我理解为什么如果步长不是相对于表大小的素数,为什么不能访问所有索引,但我不明白为什么反过来是真的:如果步长相对素数,所有索引都将被访问数组大小。
我已经观察到这个相对主要的属性在我手工计算的几个示例中起作用,但我不明白为什么它在每种情况下都有效。
简而言之,我的问题是:为什么数组的每个索引都以相对于数组大小为质数的步长来访问?有证据吗?
谢谢!