/// <summary> /// Tree implementations. /// 1. Insert /// 2. Remove /// 3. Search /// </summary> static Ttree PracticeTree <Ttree>() { var binarySearchTree = new BST <int>() { Comparer = Comparer <int> .Default }; /* * 10 * / \ * 5 20 * / \ * 2 6 \ \ 3 */ var nodeA = new TreeNode <int>() { Value = 10 }; var nodeB = new TreeNode <int>() { Value = 20 }; var nodeC = new TreeNode <int>() { Value = 5 }; var nodeD = new TreeNode <int>() { Value = 6 }; var nodeE = new TreeNode <int>() { Value = 2 }; var nodeF = new TreeNode <int>() { Value = 3 }; binarySearchTree.Insert(nodeA); binarySearchTree.Insert(nodeB); binarySearchTree.Insert(nodeC); binarySearchTree.Insert(nodeD); binarySearchTree.Insert(nodeE); binarySearchTree.Insert(nodeF); binarySearchTree.Search(nodeD); //binarySearchTree.Delete(nodeA); //binarySearchTree.Delete(nodeD); binarySearchTree.Search(nodeD); binarySearchTree.PreOrder(); binarySearchTree.InOrder(); binarySearchTree.PostOrder(); Console.ReadLine(); return((Ttree)(object)binarySearchTree); }