Exemplo n.º 1
0
        static void Main(string[] args)
        {
            MinHeap  mh    = new MinHeap();
            HeapNode hNode = new HeapNode();

            mh.AddItem(10);
            mh.AddItem(100);
            mh.AddItem(30);
            mh.AddItem(40);
            mh.AddItem(55);
            mh.AddItem(25);
            mh.AddItem(27);
            mh.AddItem(5);
            mh.Print();
            mh.RemoveItem(40);
            mh.Print();
            mh.PopMin();
            mh.Print();

            Console.WriteLine("Press ENTER to continue...");
            Console.ReadLine();


            //ReferenceEquals:
            //https://msdn.microsoft.com/en-us/library/ms379572(v=vs.80).aspx

            BinarySearchTree bst = new BinarySearchTree();

            bst.InitializeBST(5);
            bst.AddNode(9);
            bst.AddNode(3);
            bst.AddNode(4);
            bst.AddNode(2);
            bst.AddNode(6);
            bst.AddNode(2);
            bst.AddNode(7);
            bst.AddNode(8);
            bst.AddNode(10);
            bst.AddNode(1);

            BinarySearchTree bst2 = new BinarySearchTree();

            bst2.InitializeBST(9);
            bst2.AddNode(6);
            bst2.AddNode(10);
            bst2.AddNode(7);
            bst2.AddNode(8);
            bst2.AddNode(2);

            BSTcalc cal    = new BSTcalc();
            int     height = cal.getHeight(bst.root);

            Console.WriteLine("Tree Height = {0}", height);
            cal.IsBalanced(bst.root);
            cal.LCA(bst.root, 4, 7);
            cal.bstLCA(bst.root, 4, 7);
            cal.containsTree(bst.root, bst2.root);
            cal.getPaths(bst.root);


            Console.WriteLine("Printing Pre Order ...");
            PrintBST_PreOrder(bst.root);
            Console.WriteLine();
            Console.WriteLine("--------------------");

            Console.WriteLine("Printing In Order ...");
            PrintBST_InOrder(bst.root);
            Console.WriteLine();
            Console.WriteLine("--------------------");

            Console.WriteLine("Printing Post Order ...");
            PrintBST_PostOrder(bst.root);
            Console.WriteLine();
            Console.WriteLine("--------------------");

            Console.WriteLine("END ---");
            Console.ReadLine();
        }