static void Main(string[] args) { int[,] matrixAdj = { { 0, 1, 1, 0, 0, 0, 0, 0 }, //1 { 1, 0, 0, 0, 0, 1, 1, 0 }, //2 { 1, 0, 0, 1, 0, 1, 0, 1 }, //3 { 0, 0, 1, 0, 1, 0, 0, 0 }, //4 { 0, 0, 0, 1, 0, 1, 0, 0 }, //5 { 0, 1, 1, 0, 1, 0, 0, 0 }, //6 { 0, 1, 0, 0, 0, 0, 0, 1 }, //7 { 0, 0, 1, 0, 0, 0, 1, 0 } //8 }; var graph = new Graphs(matrixAdj, 8); int X = 0; int Y = 0; Console.Write("Введите вершину "); InitializeAndCheckVar(ref X); Console.Write("Введите вершину "); InitializeAndCheckVar(ref Y); var DFS = graph.DFS(X - 1, Y - 1); Show_path_in_stack(DFS); Console.WriteLine(); var BFS = graph.BFS(X - 1, Y - 1); Show_path_in_stack(BFS); Console.WriteLine(); var graph1 = new Dictionary <int, List <int> >(); graph1[1] = new List <int> { 2, 3 }; graph1[2] = new List <int> { 1, 6, 7 }; graph1[3] = new List <int> { 1, 4, 6, 8 }; graph1[4] = new List <int> { 3, 5 }; graph1[5] = new List <int> { 4, 6 }; graph1[6] = new List <int> { 2, 3, 5 }; graph1[7] = new List <int> { 2, 8 }; graph1[8] = new List <int> { 3, 7 }; var graphLink = new Graphs(graph1, 8); var DFS_Link = graphLink.DFS(X - 1, Y - 1); Show_path_in_stack(DFS_Link); Console.WriteLine(); var BFS_Link = graphLink.BFS(X - 1, Y - 1); Show_path_in_stack(BFS_Link); Console.ReadKey(); }