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); }
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); }
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); }