コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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();
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: ashtonangel7/BinaryTree
        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();
        }
コード例 #5
0
        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();
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: aquasius/BinaryTree
        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();
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: MTorres4/BinarySearchTree
        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();
        }
コード例 #8
0
        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();
        }
コード例 #9
0
ファイル: Program.cs プロジェクト: jrapkin/BinarySearchT
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: Reinharta/BinarySearchTree
        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();
        }
コード例 #12
0
ファイル: Program.cs プロジェクト: chunbo1/TPL1
        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();
        }
コード例 #13
0
        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();
        }
コード例 #14
0
        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();
        }