QuickGraph 3.0: Generic Graph Data Structures and Algorithms for .Net.
QuickGraph 3.0 provides generic directed graph datastructures and algorithms for .Net 3.5. QuickGraph comes with algorithms such as depth first seach, breath first search, shortest path, network flow etc... QuickGraph supports MSAGL, GLEE, and Graphviz to render the graphs, serialization to GraphML.
- QuickGraph 3.0 requires .Net 3.5 since uses extensions methods and Linq
- QuickGraph 2.0 requires .Net 2.0. This version is not maintained anymore.
A simple example
This example takes a DataSet, builds the graph of table and constraints from the schema and computes the table topological sort (useful to figure order to populate a database):
DataSet ds = new MyDataSet(); // your dataset
var graph = ds.ToGraph();
foreach(DataTable table in graph.TopologicalSort())
Console.WriteLine(table.TableName); // in which order should we delete the tables?
History
- QuickGraph 3.0 takes advantage of extension methods to simplify tasks.
- QuickGraph 2.0 introduced support for generic graph data structures
- The original QuickGraph for .net 1.0 was posted on CodeProject in 8 Dec 2003. It was time to do a refresh and make the graph generic.
The design of QuickGraph is inspired from the Boost Graph Library.
Where to go next?
Please use the discussions section to leave messages. Since there are no notifications for wiki comments, they will likely never be read
|