Part 5 of my Data Structures article series is now available on MSDN. In the previous two installments (Part 3 and Part 4), I talked about trees, which are a collection of nodes that are arranged in a particular manner. Generalizing the rules of trees, we arrive at graphs, which are merely a set of nodes and connections amongst said nodes. Part 5 turns to an examination of graphs, including two ways to represent graphs with a data structure (adjacency lists vs. adjacency matrices), common uses of graphs, and famous graph algorithms. The article also provides a C# class for maintaining an graph using the adjacency list technique.
Note to Mike Singer - Dijkstra, Prim, and Kruskal get their due props here in Part 5.