1

ユーザーがサイズ1000x750のJFrameに頂点とエッジを描画できるようにするプログラムがあります。次に、単一の象限にある頂点の数に応じて、クアッドツリーを使用して入力グラフを分割する必要があります。誰かがこれを達成する方法について正しい方向に私を向けることができれば、私は本当に感謝しますか?

追加情報:ソース(頂点)、ターゲット(頂点)、および重みを格納するEdgeクラスがあります。name、x座標、y座標、およびEdge[]隣接リストを格納するVertexクラスがあります。また、エッジと頂点の2つのArrayListを格納するGraphクラスもあります。

4

2 に答える 2

5

私は最近、あなたの問題を解決するコードを実装しました。最近のブログ投稿から無料でダウンロードできます。空間分解のための四分木、Java 実装http://kirstywilliams.co.uk/blog/2012/08/quadtrees-java-implementation/

于 2012-08-16T16:49:04.463 に答える
1

両方とも apache ライセンスのクアッドツリーの実装:

しかし、すでにメモリ内に接続されたグラフがある場合は、よりメモリ効率の高い (しかし少し複雑な) ソリューションを作成できます。部品はここで実装され、詳細はここで入手できます

いくつかの空間コレクションを含む別の興味深いレポ(ただし、AGPL は neo4j 自体だと思います)。

于 2012-08-30T10:30:38.860 に答える