Dfs Algorithm Explanation