Пример #1
0
        public void BFS()
        {
            var edge0  = new[] { 1, 2 };
            var edge1  = new[] { 3 };
            var edge2  = new[] { 3, 1, 4 };
            var edge3  = new[] { 0 };
            var edge4  = new[] { 3, 1 };
            var dgraph = new DGraph(5);

            dgraph.Add(0, edge0);
            dgraph.Add(1, edge1);
            dgraph.Add(2, edge2);
            dgraph.Add(3, edge3);
            dgraph.Add(4, edge4);
            var bfs = dgraph.BFS(1);

            Assert.AreEqual(5, bfs.Count());
            var bfsArr = bfs.ToArray();
            var result = new[] { 1, 3, 0, 2, 4 };

            for (int i = 0; i < bfsArr.Length; i++)
            {
                Assert.AreEqual(result[i], bfsArr[i]);
            }
        }