Hace media década, estaba sentado en una clase de estructuras de datos donde el profesor ofrecía crédito adicional si alguien podía atravesar un árbol sin usar recursividad, una pila, cola, etc. (o cualquier otra estructura de datos similar) y solo algunos indicadores. Se me ocurrió lo que pensé que era una respuesta obvia a esa pregunta que finalmente fue aceptada por el profesor. Estaba sentado en una clase de matemática discreta con otro profesor en el mismo departamento, y él afirmó que era imposible atravesar un árbol sin recursión, una pila, cola, etc., y que mi solución no era válida.
Entonces, ¿es posible o imposible? ¿Por qué o por qué no?
Editar: para agregar algunas aclaraciones, implementé esto en un árbol binario que tenía tres elementos: los datos almacenados en cada nodo y punteros a dos hijos. Mi solución podría extenderse a árboles n-ary con solo unos pocos cambios.
Mi maestro de estructuras de datos no impuso ninguna restricción contra la mutación del árbol, y de hecho descubrí más tarde que su propia solución era usar los punteros de los niños para señalar el árbol en su camino hacia abajo. Mi discreto profesor de matemáticas dijo que cualquier mutación de un árbol significa que ya no es un árbol de acuerdo con la definición matemática de un árbol, su definición también excluiría cualquier puntero a los padres, lo que coincidiría con el caso donde lo resolví anteriormente.