예제 #1
0
        static void InserteRecordsAndShowCount()
        {
            Random r = new Random();

            DS.BST bst  = new DS.BST();
            int    i    = 0;
            int    till = 10000;

            while (i++ < till)
            {
                int val = r.Next(0, 11);
                bst.Insert(val);
            }

            bst.InOrderTraversal();
        }
예제 #2
0
        static void TestBST()
        {
            DS.BST bst = new DS.BST();
            bst.Insert(5);
            bst.Insert(2);
            bst.Insert(8);
            bst.Insert(10);
            bst.Insert(6);
            bst.Insert(1);

            Assert.IsTrue(bst.KeyExists(5));
            Assert.IsTrue(bst.KeyExists(2));
            Assert.IsTrue(bst.KeyExists(10));
            Assert.IsTrue(bst.KeyExists(1));

            bst.InOrderTraversal();
            Console.WriteLine("--");
            bst.PreOrderTravel();
            Console.WriteLine("--");
            bst.PostOrderTraversal();
            Assert.AreEqual(1, bst.FindMin());
            Assert.AreEqual(10, bst.FindMax());

            bst.InOrderTraversal();
            bst.RemoveNode(5);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(1);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(6);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(8);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(5);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(10);
            Console.WriteLine("--");
            bst.InOrderTraversal();
            bst.RemoveNode(8);
            Console.WriteLine("--");
            bst.InOrderTraversal();
        }