Пример #1
0
        public void PostorderTraversalOfIeterationTest1()
        {
            TreeNode root = new TreeNode(1);

            root.left        = new TreeNode(2);
            root.left.left   = new TreeNode(4);
            root.left.right  = new TreeNode(5);
            root.right       = new TreeNode(3);
            root.right.left  = new TreeNode(6);
            root.right.right = new TreeNode(7);

            IList <int> expected = new List <int>()
            {
                4,
                5,
                2,
                6,
                7,
                3,
                1
            };
            var result = new BinaryTreePostorderTraversal().PostorderTraversalOfIteration(root);

            Assert.AreEqual(expected, result);
        }
Пример #2
0
        public void PostorderTraversalTest3()
        {
            TreeNode root = null;

            IList <int> expected = new List <int>()
            {
            };
            var result = new BinaryTreePostorderTraversal().PostorderTraversal(root);

            Assert.AreEqual(expected, result);
        }
Пример #3
0
        public void PostorderTraversalOfIeterationTest2()
        {
            TreeNode root = new TreeNode(1);

            IList <int> expected = new List <int>()
            {
                1
            };
            var result = new BinaryTreePostorderTraversal().PostorderTraversalOfIteration(root);

            Assert.AreEqual(expected, result);
        }
Пример #4
0
        public void PostorderTraversalTestCase2()
        {
            var tree = new MyBinaryTree(1);

            tree.Right      = new MyBinaryTree(2);
            tree.Right.Left = new MyBinaryTree(3);

            BinaryTreePostorderTraversal.PostorderTraversal(tree).Should().ContainInOrder(new List <int>
            {
                3, 2, 1
            });
        }
        public void Given_tree_When_traversal_return()
        {
            TreeNode node = new TreeNode(1)
            {
                left  = new TreeNode(2),
                right = new TreeNode(3)
            };

            var result = BinaryTreePostorderTraversal.PostorderTraversal(node);

            Assert.AreEqual(2, result[0]);
            Assert.AreEqual(3, result[1]);
            Assert.AreEqual(1, result[2]);
        }
Пример #6
0
        public void PostorderTraversalTest()
        {
            TreeNode root = new TreeNode(1);

            root.right      = new TreeNode(2);
            root.right.left = new TreeNode(3);

            IList <int> expected = new List <int>()
            {
                3, 2, 1
            };
            var result = new BinaryTreePostorderTraversal().PostorderTraversal(root);

            Assert.AreEqual(expected, result);
        }
Пример #7
0
        public void TestMethod2()
        {
            // Arrange
            BinaryTreePostorderTraversal question = new BinaryTreePostorderTraversal();
            TreeNode root = new TreeNode(1);

            root.right      = new TreeNode(2);
            root.right.left = new TreeNode(3);
            int[] expected = new int[] { 3, 2, 1 };

            // Act
            IList <int> actual = question.PostorderTraversal2(root);

            // Assert
            CollectionAssert.AreEqual(expected, actual?.ToArray());
        }
Пример #8
0
        public void PostorderTraversalTestCase1()
        {
            var tree = new MyBinaryTree(6);

            tree.Left             = new MyBinaryTree(2);
            tree.Left.Left        = new MyBinaryTree(1);
            tree.Left.Right       = new MyBinaryTree(4);
            tree.Left.Right.Left  = new MyBinaryTree(3);
            tree.Left.Right.Right = new MyBinaryTree(5);
            tree.Right            = new MyBinaryTree(7);
            tree.Right.Right      = new MyBinaryTree(9);
            tree.Right.Right.Left = new MyBinaryTree(8);

            BinaryTreePostorderTraversal.PostorderTraversal(tree).Should().ContainInOrder(new List <int>
            {
                1, 3, 5, 4, 2, 8, 9, 7, 6
            });
        }
Пример #9
0
        public void binaryTreePostorderTraversalTest()
        {
            var result = BinaryTreePostorderTraversal.PostorderTraversal(root);

            Console.WriteLine("Postorder Traversal: ");
            foreach (int i in result)
            {
                Console.Write(i + ", ");
            }

            Console.WriteLine();
            var iterativePostorder = BinaryTreePostorderTraversal.IterativePostorderTraversal(root);

            Console.WriteLine("Inorder Traversal: ");
            foreach (int i in iterativePostorder)
            {
                Console.Write(i + ", ");
            }
        }