Added iterative and recursive DFS