Java-Bibliothek oder ein Algorithmus für Koordinaten von Baumknoten Berechnung / Zeichnung

StackOverflow https://stackoverflow.com/questions/4125034

  •  29-09-2019
  •  | 
  •  

Frage

Ich bin für eine Bibliothek suchen, die mir die exakten Koordinaten jedes Knotens geben würde, in einem Baum (jeder Baum, nicht nur binäre Bäume).

Lassen Sie uns sagen definiere ich den Baum in der folgenden Notation

(() (() (() () ())) 

Und einige Bibliothek gibt mir die Koordinaten wie folgt aus:

[500 0]([200 50]() [600 50]([500 100]() [750 100]([600 150]() [700 150]() [800 150]())) 

oder jede andere Notation, die eindeutig einen Baum darstellt.

Diese Art der Bibliothek würde eine platzsparende Zeichnung der Bäume ermöglichen und lösen würde auch das Problem der Knoten und Verbindungen überlappen. Wenn beispielsweise ein Baum eine Liste infact ist, würde ich diese Bibliothek mag, dass zu berücksichtigen und ordne Knoten in einer Spalte oder Zeile, um Platz zu sparen.

Wenn nichts Vergleichbares existiert, ein Algorithmus würde auch nützlich sein, , vorausgesetzt, dass es relativ leicht umgesetzt werden kann.

War es hilfreich?

Lösung

ich glaube, das Nested Set Modell Ihnen helfen kann.

Der Algorithmus ist ziemlich einfach und sehr effizient für liest, obwohl Aktualisierungen an den Baum ein wenig teurer ist, weil die Grenzen der Knoten in kaskadenförmig aktualisiert werden müssen. Hier ist der Algorithmus in SQL implementiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top