Exemple #1
0
        public void BuildMinimalTreeTest(int[] aArray, TreeNode <int> aExpectedTree)
        {
            TreeNode <int> aTree = null;

            MinimalTree.BuildMinimalTree(aArray, ref aTree);
            Assert.Equal(aExpectedTree, aTree);
        }
        public void RunTest01()
        {
            MinimalTree test   = new MinimalTree(data);
            var         result = test.Run();
            int         depth  = MaxDepth(result);

            Assert.IsTrue(depth == 4);
            Assert.IsTrue(result.Value == 5);
        }
Exemple #3
0
        public void Run()
        {
            // Copying run setup code from previous problem to create tree
            int[]       sortedArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
            MinimalTree minimalTree = new MinimalTree();
            TreeNode    rootNode    = minimalTree.CreateMinimalBST(sortedArray);

            ListOfDepths lstOfDepths = new ListOfDepths();
            List <LinkedList <TreeNode> > listOfLinkedList = lstOfDepths.CreateLevelLinkedListNonRecursive(rootNode);

            List <LinkedList <TreeNode> > listOfLinkedListRecursive = lstOfDepths.CreateLevelLinkedListRecursive(rootNode);
        }
Exemple #4
0
        public void Run()
        {
            // Copying run setup code from previous problem to create tree
            int[]       sortedArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
            MinimalTree minimalTree = new MinimalTree();
            TreeNode    rootNode    = minimalTree.CreateMinimalBST(sortedArray);

            CheckBalanced checkBalanced = new CheckBalanced();

            Console.WriteLine("Is Balanced: " + checkBalanced.IsBalanced(rootNode));

            CheckBalancedV2 checkBalancedV2 = new CheckBalancedV2();

            Console.WriteLine("Is Balanced: " + checkBalancedV2.IsBalanced(rootNode));
        }
Exemple #5
0
        public void Run()
        {
            // Tree setup
            // Copying run setup code from previous problem to create tree
            int[]       sortedArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };
            MinimalTree minimalTree = new MinimalTree();
            TreeNode    rootNode    = minimalTree.CreateMinimalBST(sortedArray);

            ValidateBST validateBST = new ValidateBST();
            bool        isBST       = validateBST.CheckBSTApproach1(rootNode, sortedArray.Length);

            Console.WriteLine("Is BST using Approach 1:" + isBST);

            isBST = validateBST.CheckBSTApproach2(rootNode);
            Console.WriteLine("Is BST using Approach 2:" + isBST);

            isBST = validateBST.CheckBSTApproach3(rootNode);
            Console.WriteLine("Is BST using Approach 3:" + isBST);
        }
        public void Should_CreateTreeWithMinimalHight_When_ArrayHasOddNumberOrElements()
        {
            // [arrange]

            var underTest = new MinimalTree();

            // [act]
            var result = underTest.BuildFromSortedArray(new List <int>()
            {
                1, 3, 4, 6, 7, 8
            });

            // [assert]
            Assert.NotNull(result);
            Assert.Equal(6, result.Value);
            Assert.Equal(3, result.LeftNode.Value);
            Assert.Equal(1, result.LeftNode.LeftNode.Value);
            Assert.Equal(4, result.LeftNode.RightNode.Value);
            Assert.Equal(8, result.RightNode.Value);
            Assert.Equal(7, result.RightNode.LeftNode.Value);
        }
Exemple #7
0
        public void MinimalTreeTest(int[] input, string expectedResult)
        {
            var result = MinimalTree.Run(input);

            Assert.Equal(expectedResult, TestHelpers.ToString(result));
        }