Visita in pre-ordine di un albero binario

La visita in pre-ordine di un albero è una procedura ricorsiva in cui si visita prima il nodo corrente, poi il sottoalbero sinistro, quindi il sottoalbero destro:

  1. Visita il nodo corrente

  2. Visita il sottoalbero sinistro (node.left)

  3. Visita il sottoalbero destro (node.right)

Dato un albero binario, si richiede di effettuare la visita in pre-ordine.

Ingresso

L’ingresso contiene interi separati da spazi, che rappresentano i valori nei nodi dell’albero binario. L’ordine dei valori è quello descritto in precedenza (visitando di volta in volta dal sottoalbero sinistro a quello destro). Un valore pari a 0 indica che il nodo non esiste. Si garantisce che l’albero binario di ingresso sia valido.

Uscita

Il programma deve stampare i valori dei nodi dell’albero binario durante la visita in pre-ordine. Tutti i valori devono essere separati da uno spazio.

Esempi

Ingresso

Uscita

1 2 3 4 5 8 9 0 0 0 0 0 0 6 7 0 0 0 0

1 2 4 8 9 5 3 6 7

1 2 3 4 5 8 0 0 0 0 0 6 7 0 0 0 0

1 2 4 8 5 3 6 7

1 2 3 4 5 0 0 0 0 6 7 0 0 8 9 0 0 0 0

1 2 4 5 3 6 7 8 9

1 2 3 4 5 0 0 7 8 0 0 0 0 0 6 0 0

1 2 4 5 7 8 3 6

Spiegazione

  1. Esempio 1:

    profound.academy-Binary-tree-5.drawio (1).png
  1. Esempio 2:

    profound.academy-Binary-tree-6.drawio (1).png
  1. Esempio 3:

    profound.academy-Binary-tree-3.drawio (3).png
  1. Esempio 4:

    profound.academy-Binary-tree-4.drawio (4).png

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue