■ 行きがけ・帰りがけ

行きがけ済 帰りがけ済 状況
False False これから訪問するかも
False True (ありえない)
True False
True True その点から帰りがけ未完の点には行けない

todo: トポソートとかも説明できるようないい感じの解釈がほしい

(なかなか難しい。DFS木と一緒に考えるとわかりやすい?)

行きがけ

帰りがけ

■ 非再帰DFS

■ 再帰DFS

caller で状態を管理 / callee で状態を管理

とりあえず caller で状態を管理することにする。