ツリーノード /図面の座標を計算するためのJavaライブラリまたはアルゴリズム
-
29-09-2019 - |
質問
私は私に与える図書館を探しています 各ノードの正確な座標 木(バイナリツリーだけでなく、任意の木)。
次の表記で木を定義しているとしましょう
(() (() (() () ()))
そして、いくつかのライブラリは私にこのような座標を与えてくれます:
[500 0]([200 50]() [600 50]([500 100]() [750 100]([600 150]() [700 150]() [800 150]()))
または、ツリーを一意に表す他の表記法。
この種のライブラリは、空間効率の良い木の描画を可能にし、ノードとリンクの重複の問題も解決します。たとえば、ツリーがリストのインパクトである場合、そのライブラリにそれを考慮し、単一の列または行にノードを配置して、スペースを節約したいと思います。
似たようなものがない場合、 アルゴリズムも役立ちます, 、比較的簡単に実装できる場合。
解決
私は思います ネストされたセット モデルはあなたを助けるかもしれません。
アルゴリズムはかなり単純で、読み取りには非常に効率的ですが、ツリーの更新はもう少し高価です。ノードの境界をカスケードで更新する必要があるためです。 これがSQLに実装されているアルゴリズムです.
所属していません StackOverflow