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
La funció rep un arbres binari d’enters.
El nombre de fulles esquerres que té l’arbre.
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