예제 #1
0
        public void Test_DFS()
        {
            TreeNode root = new TreeNode(1);

            root.AddLeaf(2);
            root.AddLeaf(3);
            root.Leafs.ElementAt(0).AddLeaf(4);
            root.Leafs.ElementAt(0).AddLeaf(5);
            root.Leafs.ElementAt(0).Leafs.ElementAt(0).AddLeaf(7);
            root.Leafs.ElementAt(1).AddLeaf(6);

            List <int> result = TreeOperations.DepthFirstTraversal(root);

            result.ElementAt(0).ShouldBe(1);
            result.ElementAt(1).ShouldBe(2);
            result.ElementAt(2).ShouldBe(4);
            result.ElementAt(3).ShouldBe(7);
            result.ElementAt(4).ShouldBe(5);
            result.ElementAt(5).ShouldBe(3);
            result.ElementAt(6).ShouldBe(6);
        }