예제 #1
0
        private static void TestAvlTree()
        {
            var tree = new AvlTree();

            tree.Insert(100);
            tree.Insert(99);
            tree.Insert(101);
            tree.Insert(80);
            tree.Insert(120);
            tree.Insert(140);
            tree.Insert(150);
            tree.Insert(160);
            tree.Insert(170);

            tree.Print();

            tree.DeleteNode(tree.Head, 120);

            tree.Print();

            /*var binarySearchTree = new BinarySearchTree();
             *
             *  binarySearchTree.Insert(100);
             *  binarySearchTree.Insert(99);
             *  binarySearchTree.Insert(101);
             *  binarySearchTree.Insert(80);
             *  binarySearchTree.Insert(120);
             *  binarySearchTree.Insert(140);
             *  binarySearchTree.Insert(150);
             *  binarySearchTree.Insert(160);
             *  binarySearchTree.Insert(170);
             *
             *  binarySearchTree.Print();*/
        }
예제 #2
0
        static void Main(string[] args)
        {
            var avlTree = new AvlTree();

            avlTree.Root = avlTree.Insert(avlTree.Root, 9);
            avlTree.Root = avlTree.Insert(avlTree.Root, 5);
            avlTree.Root = avlTree.Insert(avlTree.Root, 10);
            avlTree.Root = avlTree.Insert(avlTree.Root, 0);
            avlTree.Root = avlTree.Insert(avlTree.Root, 6);
            avlTree.Root = avlTree.Insert(avlTree.Root, 11);
            avlTree.Root = avlTree.Insert(avlTree.Root, -1);
            avlTree.Root = avlTree.Insert(avlTree.Root, 1);
            avlTree.Root = avlTree.Insert(avlTree.Root, 2);

            CheckResult(avlTree.Root);

            avlTree.Root = avlTree.DeleteNode(avlTree.Root, 10);

            CheckResultAfterDeletion(avlTree.Root);
        }