Example #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Задание №1" + "\r\n");

            int[] MyArray = new int[10] {
                1, 5, 8, 9, 34, 98, 23, 1, 45, 28
            };

            Console.Write("Исходный массив: ");
            for (int i = 0; i < 10; i++)
            {
                Console.Write(Convert.ToString(MyArray[i]) + " ");
            }

            //демонстрация бинарного поиска
            Console.WriteLine("\r\n" + "1.Нахождение индекса элемента 98 с помощью бинарного поиска: " + BinarySearch(MyArray, 98, 0, MyArray.Length).ToString());

            //демонстрация поиска по бинарному дереву
            var binaryTree = new BinaryTree();

            Random rand = new Random();

            for (int i = 0; i < 9; i++)
            {
                binaryTree.Add(new BinaryTreeNode(rand.Next(0, 50)));
            }

            Console.WriteLine("\r\n" + "2.Бинарное дерево, поиск элемента и его удаление");
            binaryTree.PrintTree();

            Console.WriteLine("Добавим новый элемент");
            binaryTree.Add(new BinaryTreeNode(66));
            binaryTree.PrintTree();

            Console.WriteLine("Удалим его");
            binaryTree.Remove(66);
            binaryTree.PrintTree();

            //демонстрация фиббоначиева поиска
            Console.WriteLine("\r\n" + "3.Фиббоначиев поиск" + "\r\n");

            FibonacciNumber fib  = Fibonacci.find(21);
            FibonacciNumber fib2 = new FibonacciNumber(8);

            Console.WriteLine("Индекс числа 21 = " + fib.Index);
            Console.WriteLine("Значение элемента с индексм 8 = " + fib2.Number);


            Console.WriteLine("\r\n" + "4.Интерпаляционный поиск" + "\r\n");
            Console.Write("Исходный массив: ");
            for (int i = 0; i < 10; i++)
            {
                Console.Write(Convert.ToString(MyArray[i]) + " ");
            }

            Console.WriteLine("\r\n" + "Индекс числа 9 = " + InterpolationSearch(MyArray, 9));


            Console.WriteLine("\r\n" + "Задание №2" + "\r\n");
            Console.WriteLine("1.Поиск по map, в которой коллизии решаются простым рехэшированием");

            Map <int, string> MyMap = new Map <int, string>();

            MyMap.Add(new ItemMap <int, string>(1, "Один"));
            MyMap.Add(new ItemMap <int, string>(1, "Один"));
            MyMap.Add(new ItemMap <int, string>(2, "Два"));
            MyMap.Add(new ItemMap <int, string>(3, "Три"));
            MyMap.Add(new ItemMap <int, string>(4, "Четыре"));
            MyMap.Add(new ItemMap <int, string>(5, "Пять"));
            MyMap.Add(new ItemMap <int, string>(101, "Сто один"));
            Console.WriteLine("Исходная карта:");
            foreach (var item in MyMap)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "Ищем число c ключем  7 " + (MyMap.Search(7) ?? "Не найдено"));
            Console.WriteLine("Ищем число c ключем 101 " + (MyMap.Search(101) ?? "Не найдено"));

            MyMap.Remove(1);
            MyMap.Remove(101);

            Console.WriteLine("\r\n" + "Удалили 1 и 101 ");
            foreach (var item in MyMap)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "2.Поиск по map, в которой коллизии решаются случайным рехэшированием");

            Map <int, string> MyMap2 = new Map <int, string>();

            MyMap2.Add(new ItemMap <int, string>(2, "Два"));
            MyMap2.Add(new ItemMap <int, string>(2, "Два"));
            MyMap2.Add(new ItemMap <int, string>(9, "Девять"));
            MyMap2.Add(new ItemMap <int, string>(3, "Три"));
            MyMap2.Add(new ItemMap <int, string>(4, "Четыре"));
            MyMap2.Add(new ItemMap <int, string>(5, "Пять"));
            MyMap2.Add(new ItemMap <int, string>(102, "Сто два"));
            Console.WriteLine("Исходная карта:");
            foreach (var item in MyMap2)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "Ищем число c ключем  7 " + (MyMap2.Search(7) ?? "Не найдено"));
            Console.WriteLine("Ищем число c ключем 102 " + (MyMap2.Search(102) ?? "Не найдено"));

            MyMap2.Remove(2);
            MyMap2.Remove(102);

            Console.WriteLine("\r\n" + "Удалили 2 и 102 ");
            foreach (var item in MyMap2)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "3.Поиск по хэш таблице, в которой коллизии решаются методом цепочек");
            Console.WriteLine("Исходная таблица:");

            HashTable <int> MyHashTable = new HashTable <int>(5);

            MyHashTable.Add(2);
            MyHashTable.Add(24);
            MyHashTable.Add(65);
            MyHashTable.Add(8);
            MyHashTable.Add(51);
            MyHashTable.Add(61);

            MyHashTable.PrintHashTable();

            Console.WriteLine("\r\n" + "Содержит ли хэш таблица число 42 " + MyHashTable.Search(42));
            Console.WriteLine("Содержит ли хэш таблица число 8 " + MyHashTable.Search(8));

            MyHashTable.Delate(24);
            MyHashTable.Delate(51);

            Console.WriteLine("\r\n" + "Удалили 24 и 51 ");
            MyHashTable.PrintHashTable();

            Console.WriteLine("\r\n" + "Задание №3");
            Console.WriteLine("Расстановка ферзей на поле : (ферзь = 1)" + "\r\n");
            Chess MyChess = new Chess();

            MyChess.Arrange();


            Console.ReadLine();
        }
Example #2
0
        static void Main(string[] args)
        {
            int SizeMyArray = 11;

            int[] MyArray = new int[SizeMyArray];
            MyArray[SizeMyArray - 2] = 4965;
            MyArray[SizeMyArray - 1] = 1000;
            Random rn = new Random();

            for (int i = 0; i < SizeMyArray - 2; i++)
            {
                MyArray[i] = rn.Next(100, 5000);
            }

            Console.WriteLine("Задание №1" + "\r\n");
            PrintArray(MyArray);
            Console.WriteLine("\r\n" + "1.Интерпаляционный поиск");
            Console.WriteLine("Индекс числа 4965 = " + InterpolationSearch(MyArray, 4965) + "\r\n");
            Console.WriteLine("\r\n" + "2.Нахождение индекса элемента 4965 с помощью бинарного поиска: " + BinarySearch(MyArray, 4965, 0, MyArray.Length - 1));
            var    binaryTree = new BinaryTree();
            Random rand       = new Random();

            for (int i = 0; i < 9; i++)
            {
                binaryTree.Add(new BinaryTreeNode(rand.Next(0, 50)));
            }
            Console.WriteLine("\r\n" + "3.Бинарное дерево");
            binaryTree.PrintTree();
            Console.WriteLine("Добавим новый элемент");
            binaryTree.Add(new BinaryTreeNode(66));
            binaryTree.PrintTree();
            binaryTree.FindNode(66);
            Console.WriteLine("Удалим его");
            binaryTree.Remove(66);
            binaryTree.PrintTree();
            Console.WriteLine("\r\n" + "4.Фиббоначиев поиск" + "\r\n");
            PrintArray(MyArray);
            Console.WriteLine("Найдено ли число 4965 = " + FibbonachiSearch2(MyArray, 4965, MyArray.Length));

            Console.WriteLine("\r\n" + "Задание №2" + "\r\n");
            Console.WriteLine("1.Поиск по map, в которой коллизии решаются простым рехэшированием");
            Map <int, string> MyMap = new Map <int, string>();

            MyMap.Add(new ItemMap <int, string>(1, "Один"));
            MyMap.Add(new ItemMap <int, string>(1, "Один"));
            MyMap.Add(new ItemMap <int, string>(2, "Два"));
            MyMap.Add(new ItemMap <int, string>(3, "Три"));
            MyMap.Add(new ItemMap <int, string>(4, "Четыре"));
            MyMap.Add(new ItemMap <int, string>(5, "Пять"));
            MyMap.Add(new ItemMap <int, string>(101, "Сто один"));
            Console.WriteLine("Исходная карта:");
            foreach (var item in MyMap)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("\r\n" + "Ищем число c ключем 7 " + (MyMap.Search(7) ?? "Не найдено"));
            Console.WriteLine("Ищем число c ключем 101 " + (MyMap.Search(101) ?? "Не найдено"));
            MyMap.Remove(1);
            MyMap.Remove(101);
            Console.WriteLine("\r\n" + "Удалили 1 и 101 ");
            foreach (var item in MyMap)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "2.Поиск по map, в которой коллизии решаются случайным рехэшированием");
            Map <int, string> MyMap2 = new Map <int, string>();

            MyMap2.Add(new ItemMap <int, string>(2, "Два"));
            MyMap2.Add(new ItemMap <int, string>(2, "Два"));
            MyMap2.Add(new ItemMap <int, string>(9, "Девять"));
            MyMap2.Add(new ItemMap <int, string>(3, "Три"));
            MyMap2.Add(new ItemMap <int, string>(4, "Четыре"));
            MyMap2.Add(new ItemMap <int, string>(5, "Пять"));
            MyMap2.Add(new ItemMap <int, string>(102, "Сто два"));
            Console.WriteLine("Исходная карта:");
            foreach (var item in MyMap2)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("\r\n" + "Ищем число c ключем 7 " + (MyMap2.Search(7) ?? "Не найдено"));
            Console.WriteLine("Ищем число c ключем 102 " + (MyMap2.Search(102) ?? "Не найдено"));
            MyMap2.Remove(2);
            MyMap2.Remove(102);
            Console.WriteLine("\r\n" + "Удалили 2 и 102 ");
            foreach (var item in MyMap2)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine("\r\n" + "3.Поиск по хэш таблице, в которой коллизии решаются методом цепочек");
            Console.WriteLine("Исходная таблица:");
            HashTable <int> MyHashTable = new HashTable <int>(5);

            MyHashTable.Add(2);
            MyHashTable.Add(24);
            MyHashTable.Add(65);
            MyHashTable.Add(8);
            MyHashTable.Add(51);
            MyHashTable.Add(61);
            MyHashTable.PrintHashTable();
            Console.WriteLine("\r\n" + "Содержит ли хэш таблица число 42 " + MyHashTable.Search(42));
            Console.WriteLine("Содержит ли хэш таблица число 8 " + MyHashTable.Search(8));
            MyHashTable.Delate(24);
            MyHashTable.Delate(51);
            Console.WriteLine("\r\n" + "Удалили 24 и 51 ");
            MyHashTable.PrintHashTable();

            Console.WriteLine("\r\n" + "Задание №3");
            Console.WriteLine("Расстановка ферзей на поле : (ферзь = 1)" + "\r\n");
            Chess MyChess = new Chess();

            MyChess.Arrange();


            Console.ReadLine();
        }