Esempio n. 1
0
        static void Main(string[] args)
        {
            while (true)
            {
                string[] values = { "andrew", "kisya", "kotik",  "evgen", "wkola", "ryry", "kiol",
                                    "sam",    "slava", "baking", "brut",  "truba", "lul",  "poggers","pog","pogu",
                                    "strong", "easy",  "hard",   "imp" };
                var      tree    = new AVLTree.AVLTree();
                Random   rand    = new Random();
                string   entered = "";
                while (true)
                {
                    Console.Clear();
                    tree.Draw();

                    Console.SetCursorPosition(0, 15);
                    Console.WriteLine("Press 0 for restart");
                    Console.WriteLine("Entered values: " + entered);
                    Console.Write("Enter the value: ");
                    try
                    {
                        int value = Convert.ToInt32(Console.ReadLine());
                        if (value == 0)
                        {
                            break;
                        }
                        tree.Add(value);
                        entered += value.ToString() + ", ";
                    }
                    catch { continue; }
                }
            }
        }
        private static void Main(string[] args)
        {
            var tree  = new AVLTree <int>();
            var node2 = new Node <int>(2);
            var node9 = new Node <int>(9);
            var node4 = new Node <int>(4);

            node4.LeftNode = node2;
            var node8 = new Node <int>(8);

            node8.LeftNode  = node4;
            node8.RightNode = node9;

            tree.Root = node8;
            Console.WriteLine(tree.GetInOrder());

            tree.Add(1);
            Console.WriteLine(tree.GetInOrder());

            Console.WriteLine(tree.Height(node2));
        }
Esempio n. 3
0
        public void BalanceTest()
        {
            AVLTree <int> actual = new AVLTree <int>();

            actual.Add(1);
            actual.Add(2);
            actual.Add(3);
            actual.Add(4);
            actual.Add(5);
            actual.Add(6);
            actual.Remove(4);
            AVLTree <int> expected = new AVLTree <int> {
                1, 2, 3, 5, 6
            };

            CollectionAssert.AreEqual(expected, actual);
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            //int[] nums = { 64, 28, 26, 80, 50, 77, 82, 3, 65, 16, 9, 87, 38, 67, 69, 49, 10, 79, 15, 62, 30, 48, 52, 31, 19, 35, 59, 41, 97, 92, 22, 37, 7, 70, 78, 21, 72, 96, 91, 73, 4, 54, 27, 75, 46, 44, 51, 84, 57, 2, 42, 93, 33, 13, 88, 94, 55, 43, 5, 40, 18, 36, 76, 60, 86, 45, 25, 99, 39, 95, 71, 66, 81, 90, 6, 53, 24, 11, 56, 98, 14, 20, 83, 61, 23, 74, 68, 12, 17, 29, 34, 32, 8, 0, 63, 85, 89, 47, 58, 1 };
            int[] nums = { 15, 10, 24, 25, 9, 13, 14, 23, 0, 5, 4, 8, 11, 17, 2, 12, 21, 16, 22, 6, 3, 18, 7, 20, 1, 19 };
            //int[] nums = { 1, 0, 6, 3, 9, 2, 7, 8, 5, 4 };
            //int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,12};
            //int[] nums = { 7, 6, 5, 4, 3, 2, 1 };
            //int[] nums = {1,5,7,6,8,9};

            var tree = new AVLTree<int>();

            Console.Write("AVL tree\n\nWild list:\n  ");
            foreach (var i in nums) {
                Console.Write(i + " ");
                tree.Add(i);
            }

            Console.Write("\n\nSorted list:\n  ");
            foreach (var i in tree)
                Console.Write(i + " ");

            Console.Write("\n\nTree count:\n  {0}", tree.Count);

            Console.Write("\n\nVertical tree draw:\n  ");
            Console.Write(tree.ToString());

            Console.Write("\n\nTree root's historical balances:\n  ");
            foreach (int i in tree.HistoricalBalances)
                Console.Write("{0} ", i);

            Console.Write("\n\nHistorical roots:\n  ");
            foreach (var i in tree.HistoricalRoots)
                Console.Write("{0} ", i);

            Console.ReadKey();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            AVLTree <int> avlTree = new AVLTree <int>();

            avlTree.Add(1);
            avlTree.Add(2);
            avlTree.Add(3);
            avlTree.Add(4);
            avlTree.Add(5);
            avlTree.Add(6);
            avlTree.Add(7);
            avlTree.Add(8);
            avlTree.Add(9);
            avlTree.Add(11);
            avlTree.Add(12);
            avlTree.Add(13);
            avlTree.Add(19);
            avlTree.Add(18);
            avlTree.Add(17);

            Console.WriteLine(avlTree.CLR());
            //foreach (var i in avlTree)
            //    Console.WriteLine(i);
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            AVLTree <int> oak = new AVLTree <int>();

            oak.Add(7);
            oak.Add(1);
            oak.Add(9);
            oak.Add(3);
            oak.Add(10);
            oak.Add(14);
            oak.Add(16);
            oak.Add(5);
            oak.Add(2);
            oak.Add(12);
            oak.Add(17);

            foreach (var item in oak)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine(oak.Contains(4));

            Console.WriteLine(oak.Contains(5));

            oak.Remove(2);

            foreach (var item in oak)
            {
                Console.WriteLine(item);
            }

            oak.Clear();

            foreach (var item in oak)
            {
                Console.WriteLine(item);
            }
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            AVLTree <int> avletree = new AVLTree <int>(Comparer <int> .Default);

            avletree.Add(1);

            avletree.PrintTree();

            avletree.Add(2);
            avletree.PrintTree();
            avletree.Add(3);
            avletree.PrintTree();
            avletree.Add(4);
            avletree.PrintTree();
            avletree.Add(5);
            avletree.PrintTree();



            avletree.Add(4);

            avletree.Add(3);
            avletree.PrintTree();

            avletree.Delete(3);
            avletree.PrintTree();



            avletree.Add(1);
            avletree.PrintTree();

            avletree.Add(6);
            avletree.PrintTree();


            avletree.Add(5);
            avletree.PrintTree();

            avletree.Add(2);
            avletree.PrintTree();

            bool exist = avletree.Search(5);

            Console.WriteLine("exist = ", exist);

            int min = avletree.SearchMin();

            Console.WriteLine("min = ", min);
        }