В каждом случае необходимо оценить сложность полученного алгоритма, использование памяти - C#
Формулировка задачи:
Здравствуйте, оцените пожалуйста 3 алгоритма поиска:
в Словаре
Листинг программы
- Dictionary<int, dict> dict = new Dictionary<int, dict>();
- dict.Add(1, new dict() { TingsTitle = "первая" });
- dict.Add(2, new dict() { TingsTitle = "вторая" });
- dict.Add(3, new dict() { TingsTitle = "третья" });
- dict.Add(4, new dict() { TingsTitle = "четвертая" });
- dict.Add(5, new dict() { TingsTitle = "пятая" });
- for (int i = 6; i < 50; i++)
- {
- dict.Add(i, new dict() { TingsTitle = "число"+i });
- }
- foreach (var a in dict )
- {
- Console.WriteLine("Кллюч: {0}, TingsTitle: {1}", a.Key, a.Value.TingsTitle);
- }
- Console.WriteLine(new string('-', 50));
- //1
- Console.Write("Ищем LINQ: ");
- string val = Convert.ToString(Console.ReadLine());
- var tr = dict.Values.Where(c => c.TingsTitle.Contains(val)).Select(c => c.TingsTitle).ToList();
- if (tr != null) {
- foreach (var b in tr)
- {
- Console.WriteLine("нашел: " + b);
- }
- }
- Console.WriteLine(new string('-', 50));
- //2
- Console.Write("Ищем LINQ FirstOrDefault: ");
- string val2 = Convert.ToString(Console.ReadLine());
- string tr2 = dict.Values.Where(c => c.TingsTitle.Contains(val2)).Select(c => c.TingsTitle).FirstOrDefault();
- if (tr2 != null)
- {
- Console.WriteLine("нашел: " + tr2);
- }
- Console.WriteLine(new string('-', 50));
- //3
- Console.Write("Введите ключ от 1 до 5: ");
- int key = Convert.ToInt32(Console.ReadLine());
- bool tr3 = dict.ContainsKey(key);
- if (tr3)
- {
- Console.WriteLine("нашел: " + dict[key].TingsTitle);
- }
- Console.WriteLine(new string('-', 50));
- Console.ReadKey();
Решение задачи: «В каждом случае необходимо оценить сложность полученного алгоритма, использование памяти»
textual
Листинг программы
- string val4 = Convert.ToString(Console.ReadLine());
- foreach (var kv in dict)
- {
- if (kv.Value.TingsTitle.Contains(val4))
- {
- Console.WriteLine(kv.Value.TingsTitle);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д