Пример #1
0
        public void BSTInOrder()
        {
            var root = new TreeNodeInt(10, null, null);

            MakeTree(root);
            BinarySearchTree.InOrderPrint(root);
        }
Пример #2
0
        public void BSTInsert()
        {
            var root = new TreeNodeInt(10, null, null);

            BinarySearchTree.Insert(root, 8);
            BinarySearchTree.Insert(root, 20);
            BinarySearchTree.Insert(root, 10);
        }
Пример #3
0
        public void BSTSearchRecursive()
        {
            var root = new TreeNodeInt(10, null, null);

            MakeTree(root);
            Assert.AreEqual(BinarySearchTree.SearchRecursive(root, 12).Value, 12);
            Assert.AreEqual(BinarySearchTree.SearchRecursive(root, 10).Value, 10);
            Assert.ReferenceEquals(BinarySearchTree.SearchRecursive(root, 222), null);
        }
Пример #4
0
 public void MakeTree(TreeNodeInt root)
 {
     BinarySearchTree.Insert(root, 4);
     BinarySearchTree.Insert(root, 8);
     BinarySearchTree.Insert(root, 20);
     BinarySearchTree.Insert(root, 12);
     BinarySearchTree.Insert(root, 3);
     BinarySearchTree.Insert(root, 7);
     BinarySearchTree.Insert(root, 17);
 }
Пример #5
0
        public void BSTInsertNonRecursive()
        {
            var root = new TreeNodeInt(10, null, null);

            BinarySearchTree.InsertNonRecursive(root, 12);
            BinarySearchTree.InsertNonRecursive(root, 20);
            BinarySearchTree.InsertNonRecursive(root, 5);
            BinarySearchTree.InsertNonRecursive(root, 10);
            BinarySearchTree.InOrderPrint(root);
        }
Пример #6
0
        public void BSTDelete()
        {
            var root = new TreeNodeInt(10, null, null);

            MakeTree(root);
            BinarySearchTree.Delete(ref root, 4);
            Assert.AreEqual(root.Left.Value, 7);
            BinarySearchTree.Insert(root, 40);
            BinarySearchTree.Insert(root, 30);
            BinarySearchTree.Insert(root, 50);
            BinarySearchTree.Insert(root, 35);
            BinarySearchTree.Delete(ref root, 40);
            Assert.AreEqual(BinarySearchTree.Search(root, 35).Left.Value, 30);
            Assert.AreEqual(BinarySearchTree.Search(root, 35).Right.Value, 50);
            Assert.ReferenceEquals(BinarySearchTree.Search(root, 20).Right, BinarySearchTree.Search(root, 35));
        }