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(); }
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(); }