Гамильтонов путь + топологическая сортировка

Я знаю, что если топологическая сортировка обладает тем свойством, что все пары последовательных вершин в отсортированном порядке связаны ребрами, то топологический порядок сортировки является уникальным. Моя проблема в том, что я не могу реализовать это в C ++, особенно в сравнении. В последнем случае я хотел бы видеть, является ли в списке смежности vetorTop число рядом с ним в топологической сортировке. Но похоже, что in_degree не дает мне такой результат. Вот мой код:

    int u;
for (int i=1; i<(int)vetorTop.size(); i++){ //topological sorted
u = vetorTop[i];
list<int>::iterator itr;
for (itr = adj[u].begin(); itr != adj[u].end(); itr++){
if (vetorTop[i+1] == in_degree[*itr]++){
cout << "NOT UNIQUE\n";
return;
}
}
}

Буду благодарен за любой совет и / или совет!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]