示例#1
0
            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();
            }