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+1i+1 de l’arbre (assumim que l’arrel té el nivell 11).

Per exemple, la funció tornaria, per a l’arbre A1 el vector v = [1,5,7], perquè la suma dels enters del nivell 11 és 11, la del nivell 22 és 2+3=52 + 3 = 5 i la del nivell 33 és 1+4+1+1=71 + 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+1i+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