Example #1
0
        public static DepGraph CreateGraph(int nodeCount)
        {
            var graph = new DepGraph();

            for (int i = 1; i <= nodeCount; i++)
            {
                var v = new Vertex();
                v.ID = i;
                graph.Vertices.Add(v);
            }
            return(graph);
        }
Example #2
0
 public List <List <Vertex> > DetectCycle(DepGraph g)
 {
     output     = new List <List <Vertex> >();
     index      = 0;
     nodeStatck = new Stack <Vertex>();
     foreach (Vertex v in g.Vertices)
     {
         if (v.index < 0)
         {
             StrongConnect(v);
         }
     }
     return(output);
 }