Satellite

Satellite

Difficile

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
Free Pascal Exercism

Vuoi iniziare Satellite?

Iscriviti a Exercism per imparare e padroneggiare Free Pascal con 100 esercizi e il mentoring di persone reali, tutto gratis.