# 圖形 g 與起點節點 s depthFristSearch(g, s): Stack st st.push(s) for i ← 0 to g.N-1: color[i] ← WHITE color[s] ← GRAY while not st.empty(): u ← st.peak() # 查看堆疊頂端 v = g.next(u) # 依序取出與節點 u 相鄰的節點 v if v ≠ NIL: # 有相鄰的節點 if color[v] = WHITE: color[v] ← GRAY st.push(v) else: # 已走訪完所有相鄰的節點 color[u] ← BLACK st.pop()