Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            int houses = 10;
            WeightedGraph<int> graph = new WeightedGraph<int>(houses);
            for (int i = 0; i < houses; i++)
            {
                graph.Add(i);
            }

            //edges are undirected
            graph.AttachEdge(0, 2, 7);
            graph.AttachEdge(0, 7, 10);
            graph.AttachEdge(1, 2, 2);
            graph.AttachEdge(1, 5, 5);
            graph.AttachEdge(3, 6, 6);
            graph.AttachEdge(3, 9, 5);
            graph.AttachEdge(4, 8, 5);
            graph.AttachEdge(5, 6, 1);
            graph.AttachEdge(7, 8, 2);
            graph.AttachEdge(8, 9, 2);

            string result = graph.MinimalSpanningTree();
            Console.WriteLine(result);
            
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            int houses = 10;
            WeightedGraph <int> graph = new WeightedGraph <int>(houses);

            for (int i = 0; i < houses; i++)
            {
                graph.Add(i);
            }

            //edges are undirected
            graph.AttachEdge(0, 2, 7);
            graph.AttachEdge(0, 7, 10);
            graph.AttachEdge(1, 2, 2);
            graph.AttachEdge(1, 5, 5);
            graph.AttachEdge(3, 6, 6);
            graph.AttachEdge(3, 9, 5);
            graph.AttachEdge(4, 8, 5);
            graph.AttachEdge(5, 6, 1);
            graph.AttachEdge(7, 8, 2);
            graph.AttachEdge(8, 9, 2);

            string result = graph.MinimalSpanningTree();

            Console.WriteLine(result);
        }
Ejemplo n.º 3
0
        public static void Start()
        {
            graph = new WeightedGraph(false);
            graph.Add('w', 'x', 6);
            graph.Add('w', 'y', 1);
            graph.Add('w', 'z', 3);
            graph.Add('x', 'y', 4);
            graph.Add('x', 'z', 3);
            graph.Add('y', 'z', 2);

            int min = int.MaxValue;

            for (int i = 0; i < graph.VerticeCount; i++)
            {
                var vertex   = graph.Vertices[i];
                var visited  = "" + vertex;
                var distance = GetDistance(vertex, graph.VerticeCount - 1, visited, 0);
                if (distance < min)
                {
                    min = distance;
                }
            }
            Console.WriteLine(min);
        }