Ya no necesitas indagar más por otros sitios porque llegaste al espacio necesario, contamos con la respuesta que deseas y sin problemas.
Solución:
Ambos son validos algoritmos DFS. Un DFS no especifica qué nodo ve primero. No es importante porque el orden entre los bordes no está definido. [remember: edges are a set usually]. La diferencia se debe a la forma en que maneja los hijos de cada nodo.
En el enfoque iterativo: primero inserta todos los elementos en la pila – y luego manejar la cabeza de la pila [which is the last node inserted] – Por lo tanto, la el primer nodo que manejas es el último hijo.
En el enfoque recursivo: Usted maneja cada nodo cuando lo ve. Por lo tanto, la el primer nodo que manejas es el primer hijo.
Para hacer que el DFS iterativo produzca el mismo resultado que el recursivo, debe agregar elementos a la pila en orden inverso [for each node, insert its last child first and its first child last]
Eres capaz de añadir valor a nuestra información aportando tu experiencia en las notas.