Pseudokod
Lekcja 4 z 9 w kursie Sortowanie topologiczne – algorytmy grafowe w Coddy.
topologicalSort(n, edges):
build directed adjacency; compute indeg[v] for all v
order = []
repeat n times:
pick = smallest v with indeg[v] == 0 (none left -> stop)
mark pick as used (indeg[pick] = -1)
order.add(pick)
for nb in adj[pick]:
indeg[nb] -= 1
return order- indeg[v] zlicza krawędzie wchodzące. Tylko krawędzie
u -> vzwiększają wartośćindeg[v]. - Przeszukiwanie wierzchołków
0..n-1i wybieranie pierwszego o stopniu wejściowym 0 daje najmniejszy wybór w każdym kroku, dzięki czemu kolejność jest deterministyczna. - Ustawienie
indeg[pick] = -1to prosty sposób na oznaczenie wierzchołka jako już umieszczonego.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sortowanie topologiczne – algorytmy grafowe
Poćwicz samodzielnie: Kompilator C online