Пример #1
0
        public void TestIsBalancedFalse()
        {
            var bst  = new myBalancedBST();
            var root = new myBSTNode(9, null);
            var four = new myBSTNode(4, root);

            root.LeftChild = four;
            var seventeen = new myBSTNode(17, root);

            root.RightChild = seventeen;
            var three = new myBSTNode(3, four);

            four.LeftChild = three;
            var six = new myBSTNode(6, four);

            four.RightChild = six;
            var five = new myBSTNode(5, six);

            six.LeftChild = five;
            var seven = new myBSTNode(7, six);

            six.RightChild = seven;
            var twentytwo = new myBSTNode(22, seventeen);

            seventeen.RightChild = twentytwo;
            var twenty = new myBSTNode(20, twentytwo);

            twentytwo.LeftChild = twenty;
            Assert.IsFalse(bst.IsBalanced(root));
        }
Пример #2
0
 private void CheckNodes(myBSTNode node)
 {
     if (node.LeftChild == null && node.RightChild == null)
     {
         return;
     }
     if (node.LeftChild != null)
     {
         Assert.Less(node.LeftChild.NodeKey, node.NodeKey);
         CheckNodes(node.LeftChild);
     }
     if (node.RightChild != null)
     {
         Assert.GreaterOrEqual(node.RightChild.NodeKey, node.NodeKey);
         CheckNodes(node.RightChild);
     }
 }