static void TestShortestPath() { Console.WriteLine(); UGraphMatrix <string> uGraph = new UGraphMatrix <string>(); uGraph.AddVertex("A"); uGraph.AddVertex("B"); uGraph.AddVertex("C"); uGraph.AddVertex("D"); uGraph.AddVertex("E"); uGraph.AddVertex("F"); uGraph.AddVertex("G"); uGraph.AddVertex("H"); uGraph.AddEdge("A", "F", 10); uGraph.AddEdge("A", "B", 28); uGraph.AddEdge("B", "H", 13); uGraph.AddEdge("F", "E", 25); uGraph.AddEdge("B", "G", 14); uGraph.AddEdge("B", "C", 16); uGraph.AddEdge("E", "G", 24); uGraph.AddEdge("E", "D", 22); uGraph.AddEdge("G", "D", 18); uGraph.AddEdge("D", "C", 12); UGraphMatrix <string> shortestPath = (UGraphMatrix <string>)uGraph.ShortestWeightedPath("A", "D"); Console.WriteLine(shortestPath); }
static void TestShortestWeightedPath() { UGraphMatrix <string> uGraph = new UGraphMatrix <string>(); uGraph.AddVertex("Prince Albert"); uGraph.AddVertex("Saskatoon"); uGraph.AddVertex("Yorkton"); uGraph.AddVertex("Regina"); uGraph.AddVertex("Weyburn"); uGraph.AddEdge("Prince Albert", "Saskatoon", 2); uGraph.AddEdge("Saskatoon", "Yorkton", 4); uGraph.AddEdge("Saskatoon", "Regina", 1); uGraph.AddEdge("Regina", "Yorkton", 3); uGraph.AddEdge("Regina", "Weyburn", 5); uGraph.AddEdge("Yorkton", "Weyburn", 1); Console.WriteLine(uGraph); Console.WriteLine(uGraph.ShortestWeightedPath("Weyburn", "Prince Albert")); }