public static void Main(string[] args) { Dictionary<DateTime, int> dic = new Dictionary<DateTime, int> (); BinaryTree<DateTime, int> tree = new BinaryTree<DateTime, int> (); DateTime time = Convert.ToDateTime ("2012/7/30 4:30:00"); for (int i = 0; i < 60000; i++) { if (!dic.ContainsKey(time)) { dic.Add (time, i); tree.Add (time, i); } time = time.AddSeconds (i); } var min = Convert.ToDateTime ("2012/7/30 4:30:00"); var max = Convert.ToDateTime ("2012/7/30 4:40:00"); var watch = Stopwatch.StartNew (); var result1 = dic.Keys.Where (i => i >= min && i <= max).Select (i => dic [i]).ToList (); watch.Stop (); Console.WriteLine("字典查找耗费时间:{0}ms,获取总数:{1}", watch.ElapsedMilliseconds, result1.Count); watch = Stopwatch.StartNew (); var result2 = tree.SearchRange(min, max); watch.Stop (); Console.WriteLine("二叉树耗费时间:{0}ms,获取总数:{1}", watch.ElapsedMilliseconds, result2.Count); }
static void Main(string[] args) { BinaryTree binaryTree = new BinaryTree(); binaryTree.Add(100); binaryTree.Add(94); binaryTree.Add(133); binaryTree.Add(120); binaryTree.Add(88); binaryTree.Add(99); binaryTree.Add(84); binaryTree.Add(55); binaryTree.Add(70); binaryTree.Search(70); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree tree = new BinaryTree(); tree.Add(50); tree.Add(100); tree.Add(25); tree.Add(35); tree.Add(45); tree.Add(95); tree.Add(65); tree.Add(75); Console.WriteLine(tree.Search(25)); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree <int> binaryTree = new BinaryTree <int>(7); binaryTree.Add(5); binaryTree.Add(6); binaryTree.Add(3); binaryTree.Add(4); binaryTree.Add(1); binaryTree.Add(2); binaryTree.Add(0); binaryTree.Add(9); binaryTree.Add(8); binaryTree.Add(10); Console.WriteLine(binaryTree.Contains(10, 5)); Console.WriteLine(binaryTree.Contains(10, 7)); Console.WriteLine(binaryTree.Contains(7, 7)); Console.WriteLine(binaryTree.Contains(0, 7)); Console.WriteLine(binaryTree.Contains(-5, 7)); Console.WriteLine(binaryTree.Contains(0, 0)); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree Tree = new BinaryTree(); Tree.Add(100); Tree.Add(120); Tree.Add(50); Tree.Add(45); Tree.Add(46); Tree.Add(88); Tree.Add(119); Tree.Add(310); Tree.Search(45); Tree.Search(120); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree BST = new BinaryTree(); BST.Add(30); BST.Add(12); BST.Add(47); BST.Add(66); BST.Add(28); BST.Add(10); BST.Add(59); BST.Add(41); BST.Add(60); bool result = BST.Search(24); Console.WriteLine(result); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree Tree1 = new BinaryTree(); Tree1.Add(14); Tree1.Add(7); Tree1.Add(22); Tree1.Add(9); Tree1.Add(12); bool SearchTree = Tree1.Search(12); if (SearchTree) { Console.WriteLine("Found"); } else { Console.WriteLine("Not Found"); } Console.ReadLine(); }
static void Main(string[] args) { BinaryTree treeNode = new BinaryTree(); treeNode.Add(100); treeNode.Add(99); treeNode.Add(101); treeNode.Add(55); treeNode.Add(130); treeNode.Add(120); treeNode.Add(75); treeNode.SearchTree(); Console.ReadLine(); }
static void Main(string[] args) { Random random = new Random(); BinaryTree newSearchTree = new BinaryTree(); for (int i = 0; i < 500; i++) { newSearchTree.Add(random.Next()); } newSearchTree.Add(10); newSearchTree.Add(20); newSearchTree.Add(30); newSearchTree.Add(8); newSearchTree.Add(5); newSearchTree.Add(2); }
static void Main(string[] args) { BinaryTree binaryTree = new BinaryTree(); binaryTree.Add(100); binaryTree.Add(40); binaryTree.Add(70); binaryTree.Add(160); binaryTree.Add(10); binaryTree.Add(140); bool result = binaryTree.Find(100); }
static void Main(string[] args) { BinaryTree newTree = new BinaryTree(); newTree.Add(4); newTree.Add(2); newTree.Add(1); newTree.Add(6); newTree.Add(5); newTree.Add(4); bool findValue = newTree.Search(3); Console.WriteLine(findValue); Console.ReadKey(); }
static void Main(string[] args) { BinaryTree binaryTree = new BinaryTree(); binaryTree.Add(1); binaryTree.Add(2); binaryTree.Add(7); binaryTree.Add(3); binaryTree.Add(10); binaryTree.Add(5); binaryTree.Add(8); Node node = binaryTree.Find(5); int depth = binaryTree.GetTreeDepth(); Console.WriteLine("PreOrder Traversal:"); binaryTree.TraversePreOrder(binaryTree.Root); Console.WriteLine(); Console.WriteLine("InOrder Traversal:"); binaryTree.TraverseInOrder(binaryTree.Root); Console.WriteLine(); Console.WriteLine("PostOrder Traversal:"); binaryTree.TraversePostOrder(binaryTree.Root); Console.WriteLine(); binaryTree.Remove(7); binaryTree.Remove(8); Console.WriteLine("PreOrder Traversal After Removing Operation:"); binaryTree.TraversePreOrder(binaryTree.Root); Console.WriteLine(); Console.ReadLine(); }
static void Main(string[] args) { BinaryTree binaryTree = new BinaryTree(); int[] numbersToAdd = new[] { 6, 4, 3, 2, 10, 1, 9 }; foreach (int number in numbersToAdd) { binaryTree.Add(number); } Console.WriteLine("Дерево:"); binaryTree.PrintTree(); Console.WriteLine("Возрастание:"); foreach (int number in binaryTree.AscendingSequence()) { Console.Write($"{number} "); } Console.WriteLine(); Console.WriteLine("Убывание:"); foreach (int number in binaryTree.DescendingSequence()) { Console.Write($"{number} "); } Console.WriteLine(); int k = 3; Console.WriteLine($"k-ый минимальный элемент: {binaryTree.FindKthMinimalElement(k).Value} (k = {k})"); BinaryTree binaryTree1 = new BinaryTree(); int[] numbersToAdd1 = new[] { 1, 2, 3, 4, 5, 6, 7 }; foreach (int number in numbersToAdd1) { binaryTree1.Add(number); } BinaryTree binaryTree2 = new BinaryTree(); int[] numbersToAdd2 = new[] { 9, 8, 14, 11, 15, 20, 21 }; foreach (int number in numbersToAdd2) { binaryTree2.Add(number); } BinaryTree binaryTree3 = new BinaryTree(); int[] numbersToAdd3 = new[] { 6, 7, 5, 3, 1, 4 }; foreach (int number in numbersToAdd3) { binaryTree3.Add(number); } binaryTree1.BalanceTree(); binaryTree2.BalanceTree(); binaryTree3.BalanceTree(); Console.WriteLine("Сбалансированное дерево 1:"); binaryTree1.PrintTree(); Console.WriteLine("Сбалансированное дерево 2:"); binaryTree2.PrintTree(); Console.WriteLine("Сбалансированное дерево 3:"); binaryTree3.PrintTree(); }
static void Main(string[] args) { BinaryTree binaryTree = new BinaryTree(); int[] intArray = new int[15]; for (var i = 0; i < 15; i++) { Random random = new Random(); int rand = 0; rand = random.Next(1, 50); while (intArray.Contains(rand)) { rand = random.Next(1, 50); if (!(intArray.Contains(rand))) { break; } } binaryTree.Add(rand); intArray[i] = rand; } StringBuilder initialArraySB = new StringBuilder("Initial Insert: "); for (int i = 0; i < intArray.Length; i++) { initialArraySB.Append(intArray[i].ToString() + " "); } initialArraySB.Length--; Console.WriteLine(initialArraySB); int depth = binaryTree.GetMaxDepth(); Console.WriteLine("Depth: " + depth); Console.WriteLine("PreOrder:"); binaryTree.PrintPreOrder(binaryTree.Root); Console.WriteLine(); Console.WriteLine("InOrder:"); binaryTree.PrintInOrder(binaryTree.Root); Console.WriteLine(); Console.WriteLine("PostOrder:"); binaryTree.PrintPostOrder(binaryTree.Root); Console.WriteLine(); Console.WriteLine("BFS:"); binaryTree.PrintBFS(binaryTree.Root); Console.WriteLine(); Console.WriteLine("DFS:"); binaryTree.PrintDFS(binaryTree.Root); Console.WriteLine(); Console.ReadLine(); }