ハッシュテーブルのチュートリアルで線形プローブについて読んでいて、これに出くわしました:
線形プロービングでは、ステップ サイズはほとんど常に 1 ですが、最終的にすべてのインデックスがアクセスされるように、ステップ サイズがテーブル サイズに対して相対的に素数である限り、他のステップ サイズを使用してもかまいません。この制限が満たされない場合、すべてのインデックスにアクセスできない可能性があります...
(基本的な問題は次のとおりです。配列内のすべてのインデックスを任意のインデックスから開始し、一定数のインデックスをスキップして次のインデックスに移動し、必要に応じてモジュロで配列の先頭にラップする必要があります。)
ステップ サイズがテーブル サイズに対して相対的に素でない場合、すべてのインデックスを参照できない理由は理解できますが、逆が真である理由がわかりません。ステップ サイズが相対的に素である場合、すべてのインデックスが参照されるということです。配列サイズ。
この比較的主要なプロパティが、手動で作成したいくつかの例で機能することを確認しましたが、すべての場合に機能する理由はわかりません。
要するに、私の質問は次のとおりです。配列のすべてのインデックスが、配列サイズに比較的素なステップでアクセスされるのはなぜですか? これの証拠はありますか?
ありがとう!