do_dfs function

Use the depth-first search (dfs) algorithm