Найти все циклы в графе - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д