depth-first ordered search
ordered DFS examples: pre, post, topological