Esempio n. 1
0
        static void Main(string[] args)
        {
            Cycle cycle = new Cycle(new int[] { 0, 2, 1, 3 });

            PrintEdges(cycle);
            Console.WriteLine("Cycle - is Euler: " + IsEuler(cycle));
            Console.WriteLine("---");
            Console.WriteLine("---");
            //Grid grid = new Grid(4, 3);
            //PrintEdges(grid);
            //Console.WriteLine("Grid - is Euler: " + IsEuler(grid));
            Console.WriteLine("---");
            MatrixGraph matrixGraph1 = new MatrixGraph(4);

            matrixGraph1.AddEdge(0, 3);
            matrixGraph1.AddEdge(1, 2);
            matrixGraph1.AddEdge(3, 1);
            PrintEdges(matrixGraph1);
            Console.WriteLine("MatrixGraph1 - is Euler: " + IsEuler(matrixGraph1));
            Console.WriteLine("---");
            MatrixGraph matrixGraph2 = new MatrixGraph(4);

            matrixGraph2.AddEdge(0, 3);
            matrixGraph2.AddEdge(3, 2);
            matrixGraph2.AddEdge(2, 0);
            matrixGraph2.AddEdge(1, 3);
            matrixGraph2.AddEdge(3, 1);
            PrintEdges(matrixGraph2);
            Console.WriteLine("MatrixGraph2 - is Euler: " + IsEuler(matrixGraph2));
            Console.WriteLine("---");
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            IGraph <int> myGraf;

            myGraf = new MatrixGraph <int>(true);
            //myGraf = new ListGraph<int>(false);
            myGraf.AddVertex(new Vertex <int>(0, 3));
            myGraf.AddVertex(new Vertex <int>(1, 2));
            myGraf.AddVertex(new Vertex <int>(2, 3));
            myGraf.AddVertex(new Vertex <int>(3, 2));
            myGraf.AddVertex(new Vertex <int>(4, 3));
            myGraf.AddVertex(new Vertex <int>(5, 3));
            myGraf.AddVertex(new Vertex <int>(6, 3));



            myGraf.AddEdge(new Edge <int>(myGraf.getVertexById(0), myGraf.getVertexById(4)));

            myGraf.AddEdge(new Edge <int>(myGraf.getVertexById(1), myGraf.getVertexById(3)));

            Edge <int> myEdge = new Edge <int>(myGraf.getVertexById(0), myGraf.getVertexById(1));

            //Console.WriteLine(myGraf.ToString());


            //Console.Write("\nTEST USUWANIE KRAWEDZI \n");
            //myGraf.AddEdge(myEdge);
            //Console.WriteLine(myGraf.ToString());
            //myGraf.RemoveEdge(myEdge);
            //Console.WriteLine(myGraf.ToString());


            //myGraf.AddEdge(myEdge);
            //Console.Write("\nTEST SASIEDZI WIERZCHOLKA 0  \n");
            //List<Vertex<int>> zeroVertexNeighbours = myGraf.getVertexById(0).Neighbors;
            //foreach (var vertex in zeroVertexNeighbours)
            //{
            //    Console.Write(vertex.Id + ", ");
            //}



            DFS <int> dfs = new DFS <int>(myGraf);

            List <Vertex <int> > Dfsed = dfs.ExecuteDFS(myGraf.getVertexById(0));

            foreach (var item in Dfsed)
            {
                Console.Write(item.Id + ", ");
            }



            Dictionary <Edge <int>, AvalibleEdgeTypes> edgeClassification = dfs.ClasifyEdges();

            foreach (var edge in edgeClassification)
            {
                Console.Write(edge.Key.FromVertex.Id + " - " + edge.Key.ToVertex.Id + " : " + edge.Value.ToString() + "\n");
            }
            int n = Console.Read();
        }