public static void BfsShortestReachInaGraph(Vertex <int> start) { var graph = new UndirectedGenericGraph <int>(); var one = new Vertex <int>(1); var two = new Vertex <int>(2); var three = new Vertex <int>(3); var four = new Vertex <int>(4); var five = new Vertex <int>(5); var six = new Vertex <int>(6); graph.AddPair(one, two, 6); graph.AddPair(two, three, 6); graph.AddPair(three, four, 6); graph.AddPair(one, five, 6); graph.AddToList(six); var dict = graph.BreadthFirstSearchWeighted(graph.Vertices.FirstOrDefault(v => v.Value == start.Value)); var res3 = graph.Result; //for (int i = 0; i < 6; i++) //{ // graph.BreadthFirstSearch(graph.Vertices[i]); // var res3 = graph.Result; //} }
public static void CheckVertices() { var la = new Vertex <string>("Los Angeles"); var sf = new Vertex <string>("San Francisco"); var lv = new Vertex <string>("Las Vegas"); var se = new Vertex <string>("Seattle"); var au = new Vertex <string>("Austin"); var po = new Vertex <string>("Portland"); var aa = new Vertex <string>("Addis Ababa"); var ad = new Vertex <string>("Adama"); var testGraph = new UndirectedGenericGraph <string>(); // la <=> sf, lv, po testGraph.AddPair(la, sf); testGraph.AddPair(la, lv); testGraph.AddPair(la, po); // sf <=> se, po testGraph.AddPair(sf, se); testGraph.AddPair(sf, po); // lv <=> au testGraph.AddPair(lv, au); // se <=> po testGraph.AddPair(se, po); // aa <=> ad testGraph.AddToList(aa); testGraph.AddToList(ad); // Check to see that all neighbors are properly set up foreach (var vertex in testGraph.Vertices) { Console.WriteLine(vertex.ToString()); //System.Diagnostics.Debug.WriteLine(vertex.ToString()); } var resu = ""; for (int i = 0; i < 8; i++) { //if (!testGraph.Vertices[i].IsVisited) //{ // testGraph.DepthFirstSearch(testGraph.Vertices[i]); //.FirstOrDefault(s=>s.Value=="Las Vegas")); // var count = testGraph.Count; // resu = testGraph.Result; // testGraph.Result = ""; // testGraph.Count = 0; //} if (!testGraph.Vertices[i].IsVisited) { testGraph.DepthFirstSearchStack(testGraph.Vertices[i]); var res3 = testGraph.Result; } } testGraph.UnvisitAll(); var resu2 = ""; for (int i = 0; i < 8; i++) { if (!testGraph.Vertices[i].IsVisited) { testGraph.BreadthFirstSearch(testGraph.Vertices[i]); //.FirstOrDefault(s=>s.Value=="Las Vegas")); //var count = testGraph.Count; resu2 = testGraph.Result; testGraph.Result = ""; //testGraph.Count = 0; } } }