Les fulles d’un arbre binari són els nodes que no tenen ni fill dret ni fill esquerre. Una fulla esquerra és una fulla que és el fill esquerre del seu pare.
Feu la funció recursiva
int fullesEsquerres (arbreBin<int>);
tal que, donat un arbre binari,
torni el nombre de fulles esquerres que té l’arbre.
Per exemple, cadascun d’aquests arbres tenen dues fulles esquerres:
A1 A2 A3 1 1 1 / \ / \ / \ 2 3 2 3 2 3 / \ / \ / / \ 5 6 7 8 7 7 2
Entrada
La funció rep un arbres binari d’enters.
Sortida
El nombre de fulles esquerres que té l’arbre. Observació
Heu d’enviar la solució comprimida en un fitxer .tar:
tar cvf program.tar fullesEsquerres.cpp
Observeu que per compilar us donem el Makefile
,
la capçalera del mòdul funcional fullesEsquerres.hpp
,
la implementació de l’arbre binari arbreBin.hpp
i el programa principal program.cpp
.
Jutge.org també us donarà un semàfor verd si envieu una solució iterativa, però no serà correcte ja que l’enunciat del problema demana que la solució enviada sigui recursiva.
Input
9 9 0 2 1 5 0 7 0 4 2 3 2 8 0 6 1 1 2
Output
[1] \__[6] | \__[8] | | \__. | | \__. | \__. \__[3] \__[4] | \__[7] | | \__. | | \__. | \__[5] | \__. | \__. \__[2] \__[9] | \__. | \__. \__. Fulles: 1
Input
11 8 0 9 0 4 2 10 0 11 0 5 2 2 2 6 0 7 0 3 2 1 2
Output
[1] \__[3] | \__[7] | | \__. | | \__. | \__[6] | \__. | \__. \__[2] \__[5] | \__[11] | | \__. | | \__. | \__[10] | \__. | \__. \__[4] \__[9] | \__. | \__. \__[8] \__. \__. Fulles: 3