Apache Commons ofrece commons-graph . En http://svn.apache.org/viewvc/commons/sandbox/graph/trunk/ se puede inspeccionar la fuente. El uso de API de muestra también está en el SVN . Consulte https://issues.apache.org/jira/browse/SANDBOX-458 para obtener una lista de algoritmos implementados, también en comparación con Jung, GraphT, Prefuse, jBPT
Google Guava si solo necesita buenas estructuras de datos.
JGraphT es una biblioteca gráfica con muchos algoritmos implementados y que tiene (en mi opinión) un buen modelo gráfico. Helloworld Ejemplo . Licencia: LGPL + EPL.
JUNG2 también es una biblioteca con licencia BSD con una estructura de datos similar a JGraphT. Ofrece algoritmos de diseño, que actualmente faltan en JGraphT. La confirmación más reciente es de 2010 y los paquetes hep.aida.*
son LGPL (a través de la biblioteca colt , que es importada por JUNG ). Esto evita que JUNG se use en proyectos bajo el paraguas de ASF y ESF. Tal vez uno debería usar la bifurcación de github y eliminar esa dependencia. Commit f4ca0cd está reflejando el último commit de CVS. Las confirmaciones actuales parecen eliminar la funcionalidad de visualización. Commit d0fb491c agrega a .gitignore
.
Prefuse almacena los gráficos utilizando una estructura matricial, que no es eficiente en memoria para gráficos dispersos. Licencia: BSD
Eclipse Zest ha incorporado algoritmos de diseño gráfico, que se pueden usar independientemente de SWT. Ver org.eclipse.zest.layouts.algorithms . La estructura gráfica utilizada es la de Eclipse Draw2d , donde los nodos son objetos explícitos y no se inyectan a través de genéricos (como sucede en Apache Commons Graph, JGraphT y JUNG2).