Generar l’arbre de sumes d’un arbre binari

L’arbre de sumes d’un arbre a és un altre arbre b amb la mateixa estructura, tal que cada node de b és la suma dels descendents del seu node corresponent a a, incloent-lo a ell mateix.

(Per veure un exemple amb els arbres corresponents a l’exemple d’entrada-sortida, consulteu la versió pdf d’aquest enunciat.)

Per exemple, donat l’arbre:

image

el seu arbre de sumes és:

image

Especifiqueu i dissenyeu una funció que calculi l’arbre de sumes d’un arbre donat.

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 esquerre, 1 indica un fill dret o 0 fills). Podeu utilitzar l’operador >> definit dins la classe arbreBin per llegir l’arbre binari.

Sortida

Com a sortida es mostrarà l’estructura de l’arbre binari de sumes resultant. Podeu utilitzar l’operador << definit dins la classe arbreBin.

Observació

Cal fer servir la classe arbreBin que us donem.

Heu d’enviar el fitxer amb la solució program.cpp comprimida en un fitxer .tar:

tar cvf program.tar program.cpp

A l’enviar la solució escriviu una anotació ("Solució iterativa" o "Solució recursiva") segons el tipus de solució que hagueu fet.

Observeu que per compilar us donem el Makefile i el mòdul arbreBin.

Informació del problema

Autoria: Neus Català - Jordi Esteve

Generació: 2026-01-25T21:29:42.327Z

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