Graph g ← 建立圖形 LinkedList list ← 空串列 # 對圖形 g 進行拓撲排序 # 利用串列 list 記錄節點順序 topologicalSort(): for v ← 0 to g.N-1: color[v] ← WHITE for v ← 0 to g.N-1: if color[v] = WHITE: dfs(v) dfs(u): color[u] ← GRAY for v in g.adjLists[u]: if color[v] = WHITE: dfs(v) color[u] ← BLACK list.insert(u) # 將 u 新增至串列最前端