Проверка графа на цикл

264
14 марта 2017, 15:47

Дан ориентированный граф, нужно проверить есть ли в нем цикл. Вершин до 10^5, поэтому дфс с рекурсией не зайдет. спасибо

Answer 1

Поиск в глубину возможен и без рекурсии!

void DFS()
{
    stack<int> s;
    s.push(start);
    while (!s.empty())
    {
        int v = s.top();
        s.pop();
        for (int i = 0; i < edges[v].size(); ++i)
        {
            if (mark[edges[v][i]] == 0)
            {
                s.push(edges[v][i]);
                mark[edges[v][i]] = 1;
            }
        }
    }
}
READ ALSO
Черепашка - C++

Черепашка - C++

Что я не правильно делаю в этой задаче? Помогите пожалуйста!

225
Как передать ссылку на this?

Как передать ссылку на this?

Есть класс, для упрощения восприятия я убрал все лишнее

230
QT разбиение проекта на несколько файлов

QT разбиение проекта на несколько файлов

Упростил код, дабы было легче разобраться с проблемойИмеется класс, описанный в mainwindow

222
fseek. Время работы

fseek. Время работы

ПриветУ меня стоит задача осуществлять многократное перемещение по файлу

268