web-dev-qa-db-fra.com

Y a-t-il une structure de données graphique implémentée pour C #

J'ai essayé de trouver une structure de données de graphe à réutiliser en C # sans succès. Bien sûr, je peux emprunter à des livres de structure de données mais je veux que ce soit plus pratique commercialement (?) J'apprécierais également si vous pouvez me dire quelle est la meilleure façon de mettre en œuvre un graphique. Merci

43
Tae-Sung Shin

QuickGraph

QuickGraph est une bibliothèque de graphes pour .NET inspirée de Boost Graph Library.

QuickGraph fournit des infrastructures de données et des algorithmes génériques de graphiques dirigés/non dirigés pour .Net 2.0 et versions ultérieures. QuickGraph est livré avec des algorithmes tels que la profondeur de la première recherche, la recherche du premier souffle, la recherche A *, le chemin le plus court, le chemin le plus court k, le débit maximal, l'arbre minimal couvrant, les ancêtres les moins courants, etc. QuickGraph prend en charge MSAGL, GLEE et Graphviz pour rendre les graphes, la sérialisation en GraphML, etc ...


Il existe plusieurs façons de créer des graphiques. La bibliothèque de graphes Boost C++ (BGL) serait votre meilleure référence. Il implémente à la fois les graphiques de liste d'adjacence, de matrice d'adjacence et de liste de bord. Regardez ici pour plus de détails.

33
Lior Kogan

Il existe en fait un article assez ancien dans MSDN qui couvre la création de graphiques en C #, n examen approfondi des structures de données à l'aide de C # 2. . Malgré son âge, il répond toujours à votre question tant que cela ne vous dérange pas de créer vos propres classes de graphes.

26
Michael Goldshteyn