私は次のことを行うアルゴリズムを考え出そうとしています:
点の集合が与えられた場合、集合からの点を含まない最大の円 (クエリ点を中心とする) をクエリ点として見つけます。
これまでのところ、集合のサイト ポイントに最も近いポイントを含む領域 (セル) を見つけるためにボロノイ図を使用し、次にボロノイからのエッジ リストを使用して台形分解を構築することを考えてきました。分解から、クエリ ポイントがどのセルにあるかを見つけることができます。円の半径は、クエリ ポイントからそのセルのポイント (サイト) までの距離になります。ボロノイには O(n) ストレージが必要であり、ボロノイからの台形分解の作成も O(n) ストレージで実行できるため、このようなものを作成するために必要なストレージは線形であると思います。
*編集: クエリ時間は O(logn) でなければなりません。つまり、セットのすべてのポイントを一度に 1 つずつ反復処理することはできません。
これは正しいと思いますか、それともここで何かが欠けていますか?
また、このアルゴリズムに関して参照できる参考文献があれば教えてください。ありがとう :)