static void Main(string[] args) { var tree = new BinarySearchTree <string>(); tree.Insert("Software University"); tree.Insert("Google"); tree.Insert("Microsoft"); tree.PrintTreeDFS(); // Google Microsoft Software University Console.WriteLine(tree.Contains("Google")); Console.WriteLine(tree.Contains("IBM")); tree.Remove("Google"); Console.WriteLine(tree.Contains("Google")); tree.PrintTreeDFS(); }
private static void Main() { var tree = new BinarySearchTree <string, int>(); tree.Add("Hans", 20); tree.Add("Berta", 31); tree.Add("Andreas", 18); tree.Add("Kurt", 55); tree.Add("Nele", 35); tree.Add("Ken", 16); tree.Add("Marie", 8); tree.Add("Paul", 6); tree.Add("Peter", 66); tree.Add("Jo", 41); tree.Add("Zia", 64); Console.WriteLine(tree.Contains("Zia")); Console.WriteLine(tree.Contains("Coco")); if (tree.Contains("Marie")) { Console.WriteLine(tree["Marie"]); } Console.WriteLine(tree); tree.TraverseMode = TraverseModeEnum.PreOrder; Console.WriteLine(tree); tree.TraverseMode = TraverseModeEnum.PostOrder; Console.WriteLine(tree); tree.TraverseMode = TraverseModeEnum.InOrder; Console.WriteLine(tree); tree.TraverseMode = TraverseModeEnum.ReverseInOrder; Console.WriteLine(tree); tree.Clear(); tree.AddIterative("Hans", 20); tree.AddIterative("Berta", 31); tree.AddIterative("Andreas", 18); tree.AddIterative("Kurt", 55); tree.AddIterative("Nele", 35); tree.AddIterative("Ken", 16); tree.AddIterative("Marie", 8); tree.AddIterative("Paul", 6); tree.AddIterative("Peter", 66); tree.AddIterative("Jo", 41); tree.AddIterative("Zia", 64); tree.TraverseMode = TraverseModeEnum.PreOrder; Console.WriteLine(tree); Console.WriteLine(tree.Min); Console.WriteLine(tree.Max); }
static void Main(string[] args) { BinarySearchTree <int> bst = new BinarySearchTree <int>(); bst.Insert(10); bst.Insert(5); bst.Insert(3); bst.Insert(1); bst.Insert(4); bst.Insert(8); bst.Insert(9); bst.Insert(37); bst.Insert(39); bst.Insert(45); bst.EachInOrder(Console.WriteLine); Console.WriteLine(); BinarySearchTree <int> search = bst.Search(5); search.Insert(50); Console.WriteLine(bst.Contains(50)); search.EachInOrder(Console.WriteLine); Console.WriteLine(); foreach (int item in bst.Range(4, 37)) { Console.WriteLine(item); } }
private static void TestBinarySearchTree() { var sb = new StringBuilder(); var tree = new BinarySearchTree<int>(15); for (int i = 0; i < 30; i++) { tree.Add(i); } var clonedNode = (TreeNode<int>)tree.Root.Clone(); sb.AppendLine(tree.ToString()) .AppendLine("Tree root: " + tree.Root.ToString()) .AppendLine("Tree contains 7? " + tree.Contains(7).ToString()) .AppendLine("Cloned root: " + clonedNode.ToString()) .AppendLine("Cloned Equals root? " + (clonedNode.Equals(tree.Root)).ToString()) .AppendLine("Cloned == root? " + (clonedNode == tree.Root).ToString()) .AppendLine("Cloned != root? " + (clonedNode != tree.Root).ToString()) .AppendLine("12 deleted. New tree:"); Console.Write(sb.ToString()); tree.Delete(12); Console.WriteLine(tree.ToString()); }
public bool Contains(int value) { var contains = false; if (this.value < value) { if (this.right == null) { return(false); } else { return(right.Contains(value)); } } else if (this.value > value) { if (this.left == null) { return(false); } else { return(left.Contains(value)); } } else { return(true); } return(contains); }
public static void Main() { BinarySearchTree tree = new BinarySearchTree(); Random r = new Random(); WriteLine("Welcome! The purpose of this program is to generate numbers randomly " + "\nand use a binary search tree to sort and find any given number."); string userInput = ReadLine(); for (int index = 0; index < 13; index++) { int generated = r.Next(0, 100); tree.Insert(generated); } Write("Would you like to traverse in-order? \"No\" skips. "); userInput = ReadLine(); if (!string.Equals(userInput, "No", StringComparison.OrdinalIgnoreCase)) { tree.Inorder(); } Write("Would you like to traverse pre-order? \"No\" skips. "); userInput = ReadLine(); if (!string.Equals(userInput, "No", StringComparison.OrdinalIgnoreCase)) { tree.Preorder(); } Write("Would you like to traverse post-order? \"No\" skips. "); userInput = ReadLine(); if (!string.Equals(userInput, "No", StringComparison.OrdinalIgnoreCase)) { tree.Postorder(); } Write("Would you like to print the smallest number? \"No\" skips. "); userInput = ReadLine(); if (!string.Equals(userInput, "No", StringComparison.OrdinalIgnoreCase)) { tree.Minimum(); } Write("Would you like to print the largest number? \"No\" skips. "); userInput = ReadLine(); if (!string.Equals(userInput, "No", StringComparison.OrdinalIgnoreCase)) { tree.Maximum(); } Write("Would you like to search for a particular number? \"Yes\" continues. "); userInput = ReadLine(); if (string.Equals(userInput, "Yes", StringComparison.OrdinalIgnoreCase)) { Write("Please enter a number to search for: "); int number = int.Parse(ReadLine()); tree.Contains(number); } Write("Would you like to delete a particular number? \"Yes\" continues. "); userInput = ReadLine(); if (string.Equals(userInput, "Yes", StringComparison.OrdinalIgnoreCase)) { Write("Please enter a number to delete: "); int number = int.Parse(ReadLine()); tree.Delete(number); } tree.Inorder(); }