private static void CyclicGraph2() { Graph1 <char> Cyclic = new Graph1 <char>(); Console.WriteLine("Cyclic Graph"); Cyclic.AddEdge('A', 'B', false); Cyclic.AddEdge('B', 'C', false); Cyclic.AddEdge('C', 'A', false); Cyclic.AddEdge('D', 'C', false); Console.Write("Is it cyclic? "); var i = Cyclic.IsCyclic(); if (i) { Console.Write("Yes."); } else { Console.Write("No."); } Console.WriteLine("\nLast Line"); 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(); }