Cambia il genitore di un albero su un nodo selezionato.
Un albero è un tipo particolare di grafo in cui tutti i nodi sono collegati ma non ci sono cicli. Questo significa che, per qualsiasi coppia di nodi, esiste esattamente un percorso per andare da un nodo all'altro.
Questo esercizio consiste nel riorientare un albero per vedere le cose da un punto di vista diverso. Per esempio, gli alberi genealogici sono di solito presentati dal punto di vista dell'antenato:
+------0------+
| | |
+-1-+ +-2-+ +-3-+
| | | | | |
4 5 6 7 8 9
Ma in un albero non c'è una direzione intrinseca. Le stesse informazioni si possono presentare dal punto di vista di qualsiasi altro nodo dell'albero, portandolo fino alla radice e trascinando con sé le sue relazioni. Quindi lo stesso albero visto dal nodo 6 apparirebbe così:
6
|
+-----2-----+
| |
7 +-----0-----+
| |
+-1-+ +-3-+
| | | |
4 5 8 9
Così possiamo descrivere più semplicemente i percorsi tra due nodi. Per esempio, il percorso 6-9 (che nel primo albero sale fino alla radice e poi scende fino a un nodo foglia diverso) si può vedere come il percorso 6-2-0-3-9.
Questo esercizio consiste nel prendere un albero in input e riorientarlo dal punto di vista di uno dei nodi.
Iscriviti a Exercism per imparare e padroneggiare PowerShell con 136 esercizi e il mentoring di persone reali, tutto gratis.