コード例 #1
0
ファイル: Program.cs プロジェクト: omidmirzajani/Coursera
        public static long Solve(long nodeCount, long[][] edges, long startNode, long endNode)
        {
            Graph g = new Graph(nodeCount, edges);

            for (long i = 0; i < edges.Length; i++)
            {
                g.addEdge(edges[i][0] - 1, edges[i][1] - 1, edges[i][2]);
            }
            return(g.Dijkstra(startNode - 1, endNode - 1));
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: EugeneMunya/DijkstraAlgo
        static void Main(string[] args)
        {
            int   nodes    = 5;
            Graph dijkstra = new Graph(nodes);

            dijkstra.addEdge(0, 1, 1);
            dijkstra.addEdge(0, 2, 7);
            dijkstra.addEdge(1, 2, 5);
            dijkstra.addEdge(1, 4, 4);
            dijkstra.addEdge(4, 3, 2);
            dijkstra.addEdge(2, 3, 6);

            int distance = dijkstra.minmumDistanceBtwTwoNodes(0, 3);

            Console.WriteLine(distance);
        }
コード例 #3
0
ファイル: Dijkstra.cs プロジェクト: dimaS0611/study
        static void Main(string[] args)
        {
            StreamReader sr = new StreamReader("input.txt");
            StreamWriter sw = new StreamWriter("output.txt");

            var tmp = sr.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

            int n = int.Parse(tmp[0]);
            int m = int.Parse(tmp[1]);

            Graph graph = new Graph(n);

            int vertexS, vertexE, weight;

            while (!sr.EndOfStream)
            {
                var buf = sr.ReadLine().Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                vertexS = int.Parse(buf[0]);
                vertexE = int.Parse(buf[1]);
                weight  = int.Parse(buf[2]);

                graph.addEdge(vertexS - 1, vertexE - 1, weight);
            }

            if (graph._vertices.Count == 0)
            {
                sw.Write(0);
            }
            else
            {
                Dijkstra dijkstra = new Dijkstra(graph);

                int res = dijkstra.solve(0, n - 1);

                sw.Write(res);
            }

            sw.Close();
        }