Luego de consultar expertos en esta materia, programadores de deferentes áreas y maestros hemos dado con la solución al dilema y la plasmamos en esta publicación.
Ejemplo: preorder sin recursividad
void iterativePreorder(node *root)
// Base Case
if (root == NULL)
return;
// Create an empty stack and push root to it
stack<node*> nodeStack;
nodeStack.push(root);
while (nodeStack.empty() == false)
// Pop the top item from stack and print it
struct node *node = nodeStack.top();
printf ("%d ", node->data);
nodeStack.pop();
// Push right and left children of the popped node to stack
if (node->right)
nodeStack.push(node->right);
if (node->left)
nodeStack.push(node->left);
Al final de la artículo puedes encontrar los comentarios de otros administradores, tú igualmente tienes la opción de dejar el tuyo si lo crees conveniente.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)