Escriviu el codi del mètode elimina_nodes_amb_un_fill de la classe
arbreBin que, donat un arbre binari d’enters, elimina els nodes que
només tenen un fill.
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).
Per llegir els arbres, s’ha utilitzat l’operador >> que es troba definit
a la classe arbreBin.
Sortida
Com a sortida es mostrarà l’estructura de l’arbre binari abans i desprès d’haver eliminat els nodes que només tenen un fill.
Per escriure els arbres, s’ha utilitzat l’operador << que es troba
definit a la classe arbreBin.
Observació
Feu la solució usant els atributs privats de la classe enlloc dels mètodes públics. Per això s’ha definit a la part privada de la classe aquest mètode que també heu d’implementar:
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar arbreBin_elimina_nodes_amb_un_fill.cpp
Observeu que per compilar us donem el Makefile, la classe
arbreBin amb tots els seus mètodes implementats excepte els dos mètodes
elimina_nodes_amb_un_fill i el programa principal program.cpp.
Input
7 3 0 5 0 8 2 4 0 7 1 2 -1 10 2
Output
[10]
\__[2]
| \__.
| \__[7]
| \__[4]
| | \__.
| | \__.
| \__.
\__[8]
\__[5]
| \__.
| \__.
\__[3]
\__.
\__.
[10]
\__[4]
| \__.
| \__.
\__[8]
\__[5]
| \__.
| \__.
\__[3]
\__.
\__.
Input
7 2 0 7 0 1 1 3 0 5 -1 6 2 8 2
Output
[8]
\__[6]
| \__[5]
| | \__.
| | \__[3]
| | \__.
| | \__.
| \__[1]
| \__[7]
| | \__.
| | \__.
| \__.
\__[2]
\__.
\__.
[8]
\__[6]
| \__[3]
| | \__.
| | \__.
| \__[7]
| \__.
| \__.
\__[2]
\__.
\__.