コード例 #1
0
        public static void LevelOrderTest()
        {
            var root = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 });

            //LevelOrderTraversal.LevelOrderTraversalIterative1(root);
            Console.WriteLine();
            //LevelOrderTraversal.LevelOrderTraversalIterative3(root);
            LevelOrderTraversal.LevelOrderBottom(root);
        }
コード例 #2
0
        public void SortedListToBSTTest(int[] values, int[] expected)
        {
            // Act
            var actualBstRoot = new SortedArrayToBinarySearchTree().SortedArrayToBST(values);

            // Assert
            var actual = actualBstRoot.Nodes().ToList();

            for (int i = 0; i < expected.Length; i++)
            {
                Assert.AreEqual(expected[i], actual[i].val);
            }
        }
コード例 #3
0
        public static void SameTreeTest()
        {
            var root1 = TreeUtils.CreateRandomTree();
            var root2 = TreeUtils.CreateRandomTree();

            Assert.AreEqual(true, BinaryTreeSame.IsSameTreeIterative(root1, root2));
            Assert.AreEqual(true, BinaryTreeSame.IsSameTreeRecursive(root1, root2));

            var root3 = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 2, 3 });
            var root4 = SortedArrayToBinarySearchTree.SortedArrayToBST(new[] { 1, 3, 2 });

            Assert.AreEqual(false, BinaryTreeSame.IsSameTreeIterative(root3, root4));
            Assert.AreEqual(false, BinaryTreeSame.IsSameTreeRecursive(root3, root4));
        }
コード例 #4
0
        public static TreeNode CreateRandomTree()
        {
            var r    = new Random();
            var size = r.Next(0, 32);
            var arr  = new int[size];

            for (var pos = 0; pos < size; pos++)
            {
                arr[pos] = r.Next(1, 100);
            }

            var root = SortedArrayToBinarySearchTree.SortedArrayToBST(arr);

            return(root);
        }
コード例 #5
0
        public static TreeNode CreateRandomPerfectTree()
        {
            var r    = new Random();
            var size = (int)Math.Pow(2, r.Next(0, 7)) - 1;

            Console.WriteLine("Size: " + size);
            var arr = new int[size];

            for (var pos = 0; pos < size; pos++)
            {
                arr[pos] = r.Next(1, 100);
            }

            var root = SortedArrayToBinarySearchTree.SortedArrayToBST(arr);

            return(root);
        }