Heu de comprovar si un arbre binari d’enters compleix que per tot node el seu valor és igual a la suma dels valors dels nodes (arrels) del fill esquerre i del fill dret. Considereu que els fills buits tenen un valor de node igual a 0, i que els nodes fulla sempre compleixen la propietat.
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’un
d’aquests dos textos:
L'arbre compleix la propietat 'Suma dels fills'. L'arbre no compleix la propietat 'Suma dels fills'.
Observació
Cal fer servir la classe arbreBin
que us donem.
Heu d’enviar el fitxer amb la solució program.cpp
comprimida en un
fitxer .tar:
tar cvf program.tar program.cpp
A l’enviar la solució escriviu una anotació ("Solució iterativa" o "Solució recursiva") segons el tipus de solució que hagueu fet.
Observeu que per compilar us donem el Makefile
i el mòdul
arbreBin
.
Input
6 3 0 5 0 8 2 2 0 2 -1 10 2
Output
[10] \__[2] | \__. | \__[2] | \__. | \__. \__[8] \__[5] | \__. | \__. \__[3] \__. \__. L'arbre compleix la propietat 'Suma dels fills'.
Input
7 2 0 7 0 1 1 6 0 5 -1 6 2 8 2
Output
[8] \__[6] | \__[5] | | \__. | | \__[6] | | \__. | | \__. | \__[1] | \__[7] | | \__. | | \__. | \__. \__[2] \__. \__. L'arbre no compleix la propietat 'Suma dels fills'.