Biblioteca de Java o algoritmo para el cálculo de las coordenadas de los nodos del árbol / dibujo

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

  •  29-09-2019
  •  | 
  •  

Pregunta

Estoy buscando una biblioteca que me daría la coordenadas exactas de cada nodo en un árbol (ningún árbol, no sólo los árboles binarios).

Vamos a decir que definen el árbol en la siguiente notación

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

Y alguna biblioteca me da las coordenadas de esta manera:

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

o cualquier otra notación que representa únicamente un árbol.

Este tipo de biblioteca permitiría un dibujo en el espacio eficiente de los árboles y que también resolver el problema de la superposición de nodos y enlaces. Por ejemplo, si un árbol es una lista de hecho, me gustaría que la biblioteca para tener esto en cuenta y organizar nodos en una sola columna o fila, para ahorrar espacio.

Si no existe nada parecido, un algoritmo podría también ser útil , siempre que pueda ser implementada de forma relativamente fácil.

¿Fue útil?

Solución

Creo que el conjuntos anidados modelo puede ayudarle.

El algoritmo es bastante simple, y muy eficiente para lecturas, aunque las actualizaciones del árbol son un poco más caro, debido a que los límites de los nodos tienen que ser actualizados de forma de cascada. Aquí es el algoritmo implementado en SQL .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top