В каждом случае необходимо оценить сложность полученного алгоритма, использование памяти - 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);
}
}