Я пытаюсь восстановить графики, удалив одно ребро. Единственная проблема, с которой я сталкиваюсь, это когда в графе есть несколько циклов, например: 0 3, 2 3, 0 2, 1 2, 3 1. Это можно исправить путем извлечения 3 1, но как я могу программа № 3 1 - это край, который должен быть удален?
Есть предложения? :)
Форматированный код из комментария ...
...
else if (backedges.Count > 1)
{
foreach (Side side in backedges)
{
Node end = Side.node2;
Node begin = Side.node1;
List<Side> allsidesycle = new List<Side>();
while (begin != Side.node2)
{
end = begin;
begin = begin.pi;
Side be = new Side(begin, end);
allsidescycle.Add(be);
}