Esempio n. 1
0
        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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
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"));
        }