以下のため点があるO (N 3)空のボックスは、この紙の導入参照http://www.cs.uwm.edu/faculty/ad/maximal.pdfを。おおよそ今回はこれらのボックスを計算できます(refについてはイントロをご覧ください)。nO(n3)
あなたの問題のために、すべての点が確率選ばれる点のランダムなサンプルを取ります。このようなランダムサンプルのサイズは(予想して)n / kです(矛盾を避けるために、それを仮定します)。あるO ((N / K )3)からの点を有する空のボックスR上記によりそれらの側面には、。そのような各ボックスに対して、直交範囲検索データ構造を使用して、正確に含まれるポイントの数を計算します。このプロセスを繰り返しますO (k 6 log n )1/kn/kO((n/k)3)RO(k6logn)回。高い確率で、試したボックスの1つが目的のボックスです。
全体として、この実行時間はです。O((n/k)3∗k6∗polylogn)=O(n3k3logO(1)n)
これが機能する理由を確認するには、最適なボックスを検討してください。境界にPの6点があります。ランダムサンプルがこれらの6つのポイントを選択し、ボックス内のポイントが少なくとも1つではない確率1k6(1−1/k)k−6≈1/k6=pO((1/p)logn)
Θ(n3)
O(n3log2n)