Post

Concerning on topology

Concerning on topology

https://claude.site/artifacts/20674b56-3438-469b-991b-f79a2d1eeac0

Standard DFS (Pre-order)

In standard DFS where nodes are processed before their children, the traversal order would be:

1
2
3
4
5
6
  Visit L, add L to result
  Visit A, add A to result
  Visit C, add C to result
  Visit D, add D to result
  Visit B, add B to result
  Result: [L, A, C, D, B]

Topological Sort (Post-order)

In your implementation (post-order), the traversal order is:

1
2
3
4
5
6
  Visit L, but don't add to result yet
  Visit A, but don't add to result yet
  Visit C, since it has no children, add C to result
  Visit D, since it has no children, add D to result
  Now that A's children are processed, add A to result
  Visit B, but don't add to result yet

B’s child D is already visited, so no recursion

Now that B’s children are processed, add B to result
Now that L’s children are processed, add L to result
Result: [C, D, A, B, L]

The Key Difference

In standard DFS, nodes are added to the result as soon as they’re encountered
In topological sort, nodes are only added after all their dependencies have been processed

This post is licensed under CC BY 4.0 by the author.