Track
/
C#
C#
/
Esercizi
/
Satellite
Satellite

Satellite

Medio

Istruzioni

Immagina di dover trasmettere un albero binario a un satellite che si avvicina ad Alpha Centauri, con una larghezza di banda limitata. Dato che l'albero non ha elementi ripetuti, può essere rappresentato in modo univoco dai suoi attraversamenti in pre-ordine e in ordine.

Scrivi il software che permetterà al satellite di ricostruire l'albero a partire dagli attraversamenti.

Un attraversamento in pre-ordine legge il valore del nodo corrente prima (da cui il «pre») di leggere il sottoalbero sinistro in pre-ordine. Subito dopo, il sottoalbero destro viene letto in pre-ordine.

Un attraversamento in ordine legge il sottoalbero sinistro in ordine, poi il nodo corrente e infine il sottoalbero destro in ordine. Quindi in ordine da sinistra a destra.

Ad esempio, l'attraversamento in pre-ordine di questo albero è [a, i, x, f, r]. L'attraversamento in ordine di questo albero è [i, a, f, x, r]

  a
 / \
i   x
   / \
  f   r

Nota: il primo elemento dell'attraversamento in pre-ordine è sempre la radice.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
C# Exercism

Vuoi iniziare Satellite?

Iscriviti a Exercism per imparare e padroneggiare C# con 62 concetti178 esercizi e il mentoring di persone reali, tutto gratis.