Найти все циклы в графе - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Я обгуглился, но найти не смог. В общем, дан граф, задан списком смежности. Нужно найти все циклы, и, если таких циклов несколько, и они имеют одну общую вершину, то вывести её. Мне хватит и алгоритма, реализовать я как-нибудь сам смогу.
забыл сказать, граф неориентированный, связный

Решение задачи: «Найти все циклы в графе»

textual
Листинг программы
void WriteEuler(int** G, int* W, int** E, int i, int n, int m)
{
    for(int x = 0; x < n; x++)
    {
        if((G[W[i-1]][x] == 1) && (E[W[i-1]][x] == 0))
        {
            W[i] = x;
            E[W[i-1]][x] = 1;
            E[x][W[i-1]] = 1;
            if(i == (m-1) && (G[W[i]][W[i+1]] == 1))
                WriteArr(W,m+1);
            else
                WriteEuler(G,W,E,i+1,n,m);
            E[W[i-1]][x] = 0;
            E[x][W[i-1]] = 0;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы