237 votes

Bonne bibliothèque d’algorithme de graph Java ?

Quelqu'un a eu de bonnes expériences avec toutes les bibliothèques Java pour les algorithmes sur les graphes. J'ai essayé de JGraph et il a trouvé ok, et il y a beaucoup de types différents dans google. Sont-ils des gens sont en fait en utilisant avec succès dans le code de production ou recommanderiez?

Pour être clair, je ne suis pas à la recherche pour une bibliothèque qui produit des graphiques ou des diagrammes, je suis à la recherche de celui qui les aide avec des algorithmes sur les graphes, par exemple, minimum spanning tree, de Kruskal algorithme de Nœuds, Arêtes, etc. Idéalement avec de la bonne algorithmes de structures de données dans un joli Java OO API.

108voto

bibix Points 1915

Si vous étiez à l'aide de JGraph, vous devriez essayer de JGraphT qui est conçu pour les algorithmes. Une de ses particularités est de la visualisation à l'aide de la JGraph de la bibliothèque. C'est encore développé, mais assez stable. J'ai analysé la complexité de JGraphT algorithmes d'il y a quelques temps. Certains d'entre eux ne sont pas le moyen le plus rapide, mais si vous allez mettre en œuvre sur votre propre et le besoin d'afficher votre graphique, alors il pourrait être le meilleur choix. J'ai vraiment apprécié l'utilisation de son API, quand j'ai rapidement eu à écrire une application qui travaillait sur le graphique et l'afficher plus tard.

62voto

mansu Points 429

Résumé:

  • JGraphT si vous êtes plus intéressé dans des structures de données et algorithmes.
  • JGraph si votre objectif principal est la visualisation.
  • Jung, yWorks, et BFG sont autres choses que les gens ont essayé de l'utiliser.
  • Prefuse est un pas depuis qu'on a à réécrire la plupart des.

40voto

Joe Liversedge Points 2134

Consultez JGraphT pour une bibliothèque graphique Java très simple et puissante qui est assez bien faite et, pour dissiper toute confusion, est différente de celle JGraph. Quelques exemples de code:

37voto

Kai Points 2436

JUNG est une bonne option pour la visualisation et possède également un assez bon ensemble d’algorithmes de graphique disponibles, y compris plusieurs mécanismes pour la création du graphe aléatoire, refaisant l’installation électrique, etc.. J’ai aussi trouvé qu’il soit généralement assez facile à étendre et d’adapter si nécessaire.

12voto

Jonathan Hendler Points 696

http://neo4j.org/ est une base de données de graphique qui contient de nombreux algorithmes de graphique et évolue mieux que les bibliothèques plus en mémoire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X