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(); }