Kolejność, w jakiej wierzchołki będą usuwane, jest poszukiwanym rozwiązaniem.
Jeśli po usunięciu wszystkich takich wierzchołków (wraz z krawędziami) graf nie pozostanie pusty, oznacza to, że zawiera cykle.
By zastosować powyższy algorytm, należy wykorzystać kontener, w którym przechowywane będą wierzchołki do usunięcia.
Q ← Kolejka z wierzchołkami o stopniu wchodzącym równym 0 dopóki Q jest niepusta rób usuń wierzchołek n z przodu kolejki Q wypisz n dla każdego wierzchołka m o krawędzi e od n do m rób usuń krawędź e z grafu jeżeli do m nie prowadzi żadna krawędź to wstaw m do Q jeżeli graf ma krawędzie to wypisz komunikat o błędzie (graf zawiera cykl)
Zważywszy na częste istnienie wielu rozwiązań problemu sortowania, Q nie musi być kolejką – równie dobrze może być stosem, kolejką priorytetową lub zwykłą tablicą.
Wykorzystanie algorytmu DFS Kolejny algorytm, którym można się posłużyć, to DFS. Wystarczy, że podczas wykonywania jego tradycyjnej wersji będziemy na początek listy dodawać aktualnie przetworzony wierzchołek, a otrzymamy listę w