Java で平面内の円のコレクションに重複があるかどうかを判断する 2 つの異なるアルゴリズムを視覚化したいと考えています。
- 円のすべての組み合わせをチェックする O(n²) アルゴリズム
- スイープ ラインを使用した O(nlogn) アルゴリズム
視覚化クラスのオブジェクトがアルゴリズム クラスのオブジェクトを「リッスン」できるようにする方法はありますか?たとえば、アルゴリズムが円のペア間のオーバーラップ チェックをいつ実行しているかを確認し、いつ更新するかを知ることができます。視覚化?
他の例: アクティブな円 (スイープ ラインと交差する円) のリストをスイープ ライン アルゴリズムの変数として保持し、別のクラス (視覚化クラス) にその変数を取得させることができます。しかし、そのクラスは、リストが更新され、ビジュアライゼーションを更新する必要があることをどのように知るのでしょうか?
まさに私が考えた戦略です。もっと良い方法があるかもしれません...