Esempio n. 1
0
        public bool EulerProceed(Node node)
        {
            List <Edge> possibleEdges = graph.GetEdges(node);

            Console.WriteLine(graph.ToString());
            foreach (Edge edge in possibleEdges)
            {
                if (!IsBridge(edge))
                {
                    Edge usedEdge = edge;
                    Node goToNode = graph.GetSecondNode(usedEdge, node);
                    graph.RemoveEdge(usedEdge);
                    qEdges.Enqueue(usedEdge);
                    EulerProceed(goToNode);
                    break;
                }
            }
            if (graph.Edges.Count == 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }