コード例 #1
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
        static void TestMinimumSpanningTree(UGraphMatrix <string> g)
        {
            Console.WriteLine("Minimum Spanning Tree");
            UGraphMatrix <string> minGraph = (UGraphMatrix <string>)g.MinimumSpanningTree();

            Console.WriteLine(minGraph);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
        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);
        }
コード例 #3
0
        static void TestTraversals()
        {
            UGraphMatrix <string> uGraph = new UGraphMatrix <string>();

            uGraph.AddVertex("PA");
            uGraph.AddVertex("Saskatoon");
            uGraph.AddVertex("Regina");
            uGraph.AddVertex("Weyburn");
            uGraph.AddVertex("Estevan");
            uGraph.AddVertex("MJ");
            uGraph.AddVertex("Yorkton");
            uGraph.AddVertex("Swift");

            uGraph.AddEdge("PA", "Saskatoon", 141);
            uGraph.AddEdge("Saskatoon", "MJ", 220);
            uGraph.AddEdge("Saskatoon", "Yorkton", 328);
            uGraph.AddEdge("Yorkton", "Regina", 187);
            uGraph.AddEdge("Swift", "MJ", 190);
            uGraph.AddEdge("MJ", "Regina", 72);
            uGraph.AddEdge("Regina", "Weyburn", 115);
            uGraph.AddEdge("Weyburn", "Estevan", 86);

            //Console.WriteLine(uGraph);
            uGraph.DepthFirstTraversal("Saskatoon", processData);
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
 static void TestEnumerateNeighbours(UGraphMatrix <string> g, string start)
 {
     Console.WriteLine("Enumerate Neighbours");
     foreach (Vertex <string> vertex in g.EnumerateNeighbours(start))
     {
         Console.WriteLine(vertex);
     }
 }
コード例 #5
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
        static void Main(string[] args)
        {
            UGraphMatrix <string> uGraph = new UGraphMatrix <string>();

            AddData(uGraph);

            Console.WriteLine(uGraph);

            TestMinimumSpanningTree(uGraph);
            TestEnumerateNeighbours(uGraph, "Reg");
            TestDepthFirst(uGraph, "SA");
            TestBreadthFirst(uGraph, "SA");
            TestShortestPath();
        }
コード例 #6
0
        static void TestUndirectedGraph()
        {
            UGraphMatrix <string> dGraph = new UGraphMatrix <string>();

            dGraph.AddVertex("Saskatoon");
            dGraph.AddVertex("Moose Jaw");
            dGraph.AddVertex("Regina   ");

            dGraph.AddEdge("Saskatoon", "Moose Jaw", 255);
            dGraph.AddEdge("Saskatoon", "Regina   ", 250);
            dGraph.AddEdge("Regina   ", "Moose Jaw", 70);

            Console.WriteLine(dGraph);
        }
コード例 #7
0
        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"));
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
        static void AddData(UGraphMatrix <string> g)
        {
            g.AddVertex("SA");
            g.AddVertex("PA");
            g.AddVertex("Reg");
            g.AddVertex("MJ");
            g.AddVertex("Wyn");
            g.AddVertex("Yk");
            g.AddVertex("SC");
            g.AddVertex("Wey");

            g.AddEdge("SA", "PA", 140);
            g.AddEdge("SA", "Reg", 250);
            g.AddEdge("SA", "SC", 300);
            g.AddEdge("MJ", "Reg", 72);
            g.AddEdge("MJ", "SC", 200);
            g.AddEdge("SA", "Wyn", 189);
            g.AddEdge("Wyn", "Yk", 140);
            g.AddEdge("Reg", "Yk", 190);
            g.AddEdge("Wey", "Reg", 116);
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: kywei113/cosc286
 static void TestBreadthFirst(UGraphMatrix <string> g, string s)
 {
     Console.WriteLine("Breadth First");
     g.BreadthFirstTraversal(s, ProcessCity);
 }