private static void GermanCities() { Graph1 <string> germanCities = new Graph1 <string>(); germanCities.AddEdge("Frankfurt", "Mannheim", false); germanCities.AddEdge("Frankfurt", "Wurzburg", false); germanCities.AddEdge("Frankfurt", "Kassel", false); germanCities.AddEdge("Mannheim", "Karlsruhe", false); germanCities.AddEdge("Karlsruhe", "Augsburg", false); germanCities.AddEdge("Augsburg", "Munchen", false); germanCities.AddEdge("Wurzburg", "Erfurt", false); germanCities.AddEdge("Wurzburg", "Nurnberg", false); germanCities.AddEdge("Nurnberg", "Stuttgart", false); germanCities.AddEdge("Nurnberg", "Munchen", false); germanCities.AddEdge("Kassel", "Munchen", false); Console.WriteLine("\n**** DFS Iterative *****"); germanCities.DFS("Frankfurt"); Console.WriteLine("--------------"); Console.WriteLine("\n**** DFS Recursive ****\n"); germanCities.DFS("Frankfurt", true); Console.WriteLine("**************"); Console.WriteLine(); Console.WriteLine("**** BFS *****"); germanCities.BFS("Frankfurt"); Console.WriteLine("**************"); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~"); germanCities.FindSpanningTree(); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~"); germanCities.FindPathBetweenTwoVertices("Frankfurt", "Stuttgart"); Console.ReadLine(); }
private static void TremauxExecution() { Graph1 <char> Tremaux = new Graph1 <char>(); Tremaux.AddEdge('A', 'B', true); Tremaux.AddEdge('A', 'C', true); Tremaux.AddEdge('A', 'E', true); Tremaux.AddEdge('B', 'D', true); Tremaux.AddEdge('B', 'F', true); Tremaux.AddEdge('C', 'G', true); Tremaux.AddEdge('E', 'F', true); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine("Printing Whole Graph:\n" + Tremaux.ToString()); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine("\n**** DFS iterative ****\n"); Tremaux.DFS('A'); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine("\n**** DFS recursive ****\n"); Tremaux.DFS('A', true); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine("\n**** BFS ****\n"); Tremaux.BFS('A'); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.WriteLine("\n**** Spanning Tree ****\n"); Tremaux.FindSpanningTree(); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Console.Write("Is it cyclic? "); var i = Tremaux.IsCyclic(); if (i) { Console.Write("Yes."); } else { Console.Write("No."); } Console.WriteLine("\nLast Line"); Console.ReadLine(); }