Heu d’implementar el recorregut en amplada d’un arbre binari. Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en postordre. Com a sortida es mostrarà l’estructura de l’arbre binari seguit del recorregut en amplada (o per nivells) del mateix.
Entrada
Com a entrada hi haurà la mida de l’arbre i els nodes de l’arbre binari en
postordre. Per cada node s’indica el seu valor i el nombre de fills (2 fills,
-1 indica un fill esquerra, 1 indica un fill dret o 0 fills). Podeu utilitzar
l’operador >>
definit dins la classe arbreBin
per llegir l’arbre
binari.
Sortida
Com a sortida es mostrarà l’estructura de l’arbre binari (podeu utilitzar
l’operador <<
definit dins la classe arbreBin
) seguit d’una
línia en blanc i del recorregut en amplada (o per nivells) del mateix precedit
per text "Amplada: ".
Observació
Cal fer servir la classe arbreBin
que us donem. Us recomanem que
guardeu el recorregut en amplada en una list
i desprès useu l’operador
<<
definit dins el mòdul listIOint
per mostrar la llista a la
sortida.
Heu d’enviar el fitxer amb la solució program.cpp
comprimida en un
fitxer .tar:
tar cvf program.tar program.cpp
Observeu que per compilar us donem el Makefile
i els mòduls
arbreBin
i ListIOint
.
Input
7 2 0 6 0 7 0 4 2 5 0 3 2 1 2
Output
[1] \__[3] | \__[5] | | \__. | | \__. | \__[4] | \__[7] | | \__. | | \__. | \__[6] | \__. | \__. \__[2] \__. \__. Amplada: [1,2,3,4,5,6,7]
Input
7 2 0 7 0 4 1 6 0 5 -1 3 2 1 2
Output
[1] \__[3] | \__[5] | | \__. | | \__[6] | | \__. | | \__. | \__[4] | \__[7] | | \__. | | \__. | \__. \__[2] \__. \__. Amplada: [1,2,3,4,5,7,6]