Я хочу найти схему в прямом графике, эта схема начинается с определенной вершины и заканчивается на ней. Я использую структуру данных списка смежности, чтобы создать этот график, но я не мог знать, каким будет алгоритм, пожалуйста, помогите мне. Большое спасибоНайти схему в прямом графике
ответ
Может быть, это намек поможет:
- траверс граф (любой алго - BFS, DFS)
- Цвет узел, который вы посетили и хранить его родитель
- чек если узел, который вы проходите, равен , уже покрашен, затем перейдите к своим родителям, пока не получите тот же самый узел .
Большое спасибо –
DFS найдет цикл.
Спасибо для всех. Я получаю суть, и я попытаюсь опубликовать свою попытку в ближайшее время. –
void DFS (Node* ptr , int node , int index , int n)
{ INT I;
if (ptr == NULL)
{
ptr=arrNode[index].next;
node = ptr->vertex;
}
for (int i=0 ; i < n ; i++)
{
if ((node == arrNode[i].vertex) && (ptr->visit=false))
{
ptr=arrNode[i].next;
ptr->visit = true;
s.push(arrNode[i].vertex);
}
ptr=ptr->next;
DFS(ptr,ptr->vertex,i+1 , n);
}
}
Я написал этот код, есть что-то неправильно, я не могу его получить. Моя структура данных представляет собой массив длиной = число вершин, каждое поле этого массива имеет указатель на связанный список, который содержит все его соседи :( –
Это, вероятно, было бы лучше отредактировано в ваш вопрос, чтобы читатели могли видеть вашу текущую работу Я уверен, что как только вы это сделаете, вы получите более положительные отзывы - удачи ':)' – halfer
- 1. Самый длинный путь в прямом ациклическом графике
- 2. Найти линейность в графике
- 3. Где найти схему unattend.xml
- 4. Найти ближайший крен в графике
- 5. Найти «подключенные компоненты» в графике
- 6. Найти цветную схему
- 7. Найти точку на графике
- 8. Найти репрезентативные вершины на графике
- 9. Найти подключенные компоненты в графике в MATLAB
- 10. Как воспроизвести исходную цветовую схему на растровом графике?
- 11. Как найти схему таблицы в DB2?
- 12. Найти схему JSON в SQL Server
- 13. Найти ВТОРОЕ кратчайший путь в набранном графике
- 14. Как найти яму в ориентированном графике?
- 15. Как найти максимальный интервал в графике?
- 16. найти клики в графике с помощью golang
- 17. Как найти максимальный поток в планарном графике?
- 18. Найти самый удаленный узел в неупорядоченном графике
- 19. найти группу в графике Neo4j db
- 20. Найти «достаточно короткие» пути в заданном графике
- 21. Как найти Наибольший путь в графике
- 22. Найти все циклы в неориентированном графике
- 23. Найти пиксельное положение точки в highstock графике
- 24. Найти все пути в сводном циклическом графике
- 25. Sqlite.swift в прямом эфире
- 26. Зарегистрироваться в прямом эфире
- 27. Играть в прямом эфире
- 28. в прямом эфире телеканалы
- 29. jQuery в прямом эфире?
- 30. Red5 в прямом эфире
Пробовали ли вы [погуглить его] (http://www.google.com/#hl=en&output=search&sclient=psy-ab&q=detect+cycles+in+directed+graph&oq= обнаружение + циклов + в + директории & водн = 0 & AQI = g1g-д2 & акл = & gs_l = hp.3.0.0j0i22l2.5304.10257.0.11144.20.12.0.8.8.0.208.1915.0j11j1.12.0 ... 0.0.-eh4kSQJRfQ & = 1 PBX & БАВ = on.2 , or.r_gc.r_pw.r_qf., cf.osb & Fp = d0f8cd49a0fc8cd2 & BIW = 1138 & БиГ = 555)? –
plesae опубликуйте вашу попытку ... –
Вы можете использовать алгоритм Тарьяна. См. Http://stackoverflow.com/questions/261573/best-algorithm-for-detecting-cycles-in-a-directed-graph – spinlok