Vuelve a enraizar un árbol en un nodo seleccionado.
Un árbol es un tipo especial de grafo en el que todos los nodos están conectados, pero no hay ciclos. Esto significa que, para cualquier par de nodos, existe exactamente un camino para ir de un nodo a otro.
Este ejercicio consiste en reorientar un árbol para ver las cosas desde otro punto de vista. Por ejemplo, los árboles genealógicos suelen presentarse desde la perspectiva del antepasado:
+------0------+
| | |
+-1-+ +-2-+ +-3-+
| | | | | |
4 5 6 7 8 9
Pero un árbol no tiene una dirección inherente. La misma información puede presentarse desde la perspectiva de cualquier otro nodo del árbol, subiéndolo hasta la raíz y arrastrando con él sus relaciones. Así, el mismo árbol desde la perspectiva del 6 se vería así:
6
|
+-----2-----+
| |
7 +-----0-----+
| |
+-1-+ +-3-+
| | | |
4 5 8 9
Esto nos permite describir de forma más sencilla los caminos entre dos nodos. Por ejemplo, el camino de 6 a 9 (que en el primer árbol sube hasta la raíz y luego baja a un nodo hoja distinto) se puede ver que sigue el camino 6-2-0-3-9.
Este ejercicio consiste en tomar un árbol de entrada y reorientarlo desde el punto de vista de uno de sus nodos.
Regístrate en Exercism para aprender y dominar PowerShell con 136 ejercicios y mentoría humana real, todo gratis.