コード例 #1
0
        public static int SemiConnected1(DirectedGraph g)
        {
            // http://himangi774.blogspot.ru/2013/12/check-if-graph-is-strongl-connected.html

            Algorithms.SCC scc = new Algorithms.SCC(g);

            //foreach (var v in scc.stack)
            //{
            //    Console.Write(v + " ");
            //}
            //Console.WriteLine();
            //while (scc.stack.Count != 0)
            //{
            //    Console.Write(scc.stack.Pop() + " ");
            //}
            //Console.WriteLine();

            var prev = scc.stack.Pop();

            while (scc.stack.Count != 0)
            {
                var curr = scc.stack.Pop();
                if (curr != prev - 1)
                {
                    return(-1);
                }
                prev = curr;
            }

            return(1);
        }
コード例 #2
0
        public static int SemiConnected1(DirectedGraph g)
        {
            // http://himangi774.blogspot.ru/2013/12/check-if-graph-is-strongl-connected.html

            Algorithms.SCC scc = new Algorithms.SCC(g);

            //foreach (var v in scc.stack)
            //{
            //    Console.Write(v + " ");
            //}
            //Console.WriteLine();
            //while (scc.stack.Count != 0)
            //{
            //    Console.Write(scc.stack.Pop() + " ");
            //}
            //Console.WriteLine();

            var prev = scc.stack.Pop();
            while (scc.stack.Count != 0)
            {
                var curr = scc.stack.Pop();
                if (curr != prev - 1)
                {
                    return -1;
                }
                prev = curr;
            }

            return 1;
        }