Esempio n. 1
0
        public void TopologicalTest()
        {
            var g    = DagSample();
            var topo = new Topological(g);

            Assert.True(topo.IsDAG());
            var result = new int[] { 8, 7, 2, 3, 0, 5, 1, 6, 9, 11, 10, 12, 4 };
            int i      = 0;

            foreach (var v in topo.Order())
            {
                Assert.Equal(v, result[i]);
                i++;
            }
        }
Esempio n. 2
0
        public static void Test()
        {
            int    target = int.Parse(Console.ReadLine()); // 输入目标顶点
            IGraph graph  = CreateDirectedGraph();         // 生成图数据

            Topological search = new Topological(CreateDirectedGraph());

            if (search.IsDAG())
            {
                foreach (var item in search.Order())
                {
                    Console.Write(item + " ");
                }
            }

            //GraphSearchTest(new UnionFindSearch(graph, target));
            //GraphSearchTest(new DepthFirstSearch(graph, target));

            //GraphPathSearchTest(new DFSPathSearch(graph, target), target);
            //GraphPathSearchTest(new BFSPathSearch(graph, target), target);

            //GraphConnectedComponentTest(new DFSConnectedComponent(graph));
        }