我想可視化決定是否有重疊的圓圈集合在一個平面上的Java兩種不同的算法:如何在不改變算法代碼的情況下直觀顯示算法?
- 的O(N²)算法來檢查圈
- 的O(nlogn的每個組合)算法使用掃描線
有沒有辦法讓一個vizualization類的對象「偵聽」算法類的對象,例如它可以看到算法執行重疊檢查一對圓圈之間並知道何時更新可視化?
其他示例: 我可以將活動圓(與掃掠線相交的那些圓)的列表作爲掃掠線算法的變量,並讓另一個類(可視化類)獲取該變量。但是該類如何知道列表何時更新並且必須更新可視化?
這就是我正在考慮的策略。也許有更好的方法...
我不知道你是否考慮過它,但我只想記住一個詞:多線程。一個算法線程和一個可視化線程? – 2012-04-05 22:20:59
我肯定會需要多個線程。主要問題是:可視化線程如何知道它需要刷新? – aerod 2012-04-05 22:32:03
繪製圖片。 (是否可視化,不會修改代碼。) – 2012-04-05 23:16:46