Imagina que necesitas transmitir un árbol binario a un satélite que se acerca a Alpha Centauri y tienes un ancho de banda limitado. Como el árbol no tiene elementos repetidos, se puede representar de forma única mediante sus recorridos en preorden y en inorden.
Escribe el software del satélite para reconstruir el árbol a partir de los recorridos.
Un recorrido en preorden lee el valor del nodo actual antes (de ahí el «pre») de leer el subárbol izquierdo en preorden. Después se lee el subárbol derecho en preorden.
Un recorrido en inorden lee el subárbol izquierdo en inorden, luego el nodo actual y finalmente el subárbol derecho en inorden. Es decir, en orden de izquierda a derecha.
Por ejemplo, el recorrido en preorden de este árbol es [a, i, x, f, r]. El recorrido en inorden de este árbol es [i, a, f, x, r]
a
/ \
i x
/ \
f r
Nota: el primer elemento del recorrido en preorden siempre es la raíz.
Regístrate en Exercism para aprender y dominar Idris con 58 ejercicios y mentoría humana real, todo gratis.