Sumes per Nivells

Feu la funció

vector<int> sumesNivells (const arbreBin<int>);

tal que, donat un arbre binari d’enters (que no és buit), torni un
vector d’enters tal que a la posició i-èssima del vector hi hagi la suma
dels enters que són al nivell i + 1 de l’arbre (assumim que l’arrel té
el nivell 1).

Per exemple, la funció tornaria, per a l’arbre A1 el vector v = [1,5,7],
perquè la suma dels enters del nivell 1 és 1, la del nivell 2 és
2 + 3 = 5 i la del nivell 3 és 1 + 4 + 1 + 1 = 7. Per a l’arbre A2
tornaria v = [1,8,1] per a l’arbre A3 tornaria v = [3,5,4].


             A1            A2         A3

             1             1           3
            / \           / \         / \
           2   3         5   3       2   3
          / \ / \           /       /   / \
         1  4 1  1         1       1   1   2
                        

Entrada

La funció rep un arbre binari d’enters no buit.

Sortida

Un vector de mida alçada(a) tal que a la posició v[i] hi hagi la suma
dels elements de nivell i + 1 de l’arbre a.

Observació

Heu d’enviar la solució comprimida en un fitxer .tar:

tar cvf program.tar sumesNivells.cpp

Observeu que per compilar us donem el Makefile,

la capçalera del mòdul funcional sumesNivells.hpp,

la implementació de l’arbre binari arbreBin.hpp i el programa principal
program.cpp.

Informació del problema

Autoria: PRO1-Vilanova

Generació: 2026-01-25T21:15:35.527Z

© Jutge.org, 2006–2026.
https://jutge.org
