if (!edges.Contains(newEdg))
edges.Add(newEdg);
}
catch(Exception e)
{
Console.WriteLine(e.Message);
i--;
}
}
#endregion
edges.Sort();
Console.Clear();
#region Вывод списка смежности
Console.WriteLine("Список смежности");
OutputList(edges);
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
#endregion
bool answer = true;
Graph gr = new Graph(edges, vCount);
while (answer)
{
Console.Clear();
Console.WriteLine("Выберите алгоритм");
Console.WriteLine("1 - Прима");
Console.WriteLine("2 - Прима-Краскала");
Console.WriteLine("3 - Краскала");
Console.WriteLine("4 - Дейкстры-Прима");
Console.WriteLine("9 - Список смежности");
Console.WriteLine("0 - Выход");
int n = Convert.ToInt32(Console.ReadLine());
switch (n)
{
case 1:
{
Console.WriteLine("Укажите стартовую вершину");
string strt = Console.ReadLine();
Console.WriteLine(gr.Prim(strt));
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
}
break;
case 2:
{
Console.WriteLine(gr.PrimKraskal());
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
}
break;
case 3:
{
Console.WriteLine(gr.Kraskal());
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
}
break;
case 4:
{
Console.WriteLine("Укажите стартовую вершину");
string strt = Console.ReadLine();
Console.WriteLine(gr.DeikstraPrim(strt));
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
}
break;
case 9:
{
Console.WriteLine("Список смежности");
OutputList(edges);
Console.WriteLine("\nДля продолжения нажмите любую клавишу...");
Console.ReadLine();
}
break;
case 0:
{
answer = false;
}
break;
}
}
}
}
}
Вывод: изучили основные алгоритмы построения минимального остового дерева.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.