Esborrar 0s i 1s d’un arbre

Implementeu una funció RECURSIVA que, donat un arbre binari d’enters, retorna un altre arbre binari d’enters a base d’esborrar tots els seus 0’s i 1’s aplicant els següents passos tans cops com calgui:

Aquesta és la capcelera:

// Pre:
// Post: Retorna el resultat de reemplaçar tans cops com calgui en t
//       cada subarbre amb arrel 0 pel seu fill esquerre,
//       i cada subarbre amb arrel 1 pel seu fill dret.
BinTree<int> remove01(BinTree<int> t);

Aquí tenim un exemple de paràmetre d’entrada de la funció i la corresponent sortida:

remove01(                   0                )     =     7
                            |                            |
               ------------- -------------                ----
              |                           |                   |
              1                           8                   8
              |                           |
          ---- ----                ------- -------
         |         |              |               |
         1         7              1               1
                   |              |               |
               ---- ----      ---- ----       ----
              |         |    |         |     |
              0         8    0         3     0

Fixeu-vos que l’enunciat d’aquest exercici ja ofereix uns fitxers que haureu d’utilitzar per a compilar: main.cc, BinTree.hh, remove01.hh. Us falta crear el fitxer remove01.cc amb els corresponents includes i implementar-hi la funció anterior. Només cal que pugeu remove01.cc al jutge.

Entrada

La primera linia de l’entrada descriu el format en el que es descriuen els arbres, o bé INLINEFORMAT o bé VISUALFORMAT. Després venen un nombre arbitrari de casos. Cada cas consisteix en una descripció d’un arbre un arbre binari d’enters. Fixeu-vos en que el programa que us oferim ja s’encarrega de llegir aquestes entrades. Només cal que implementeu la funció abans esmentada.

Sortida

Per a cada cas, la sortida conté la corresponent arbre resultant d’haver esborrat 0s i 1s. Fixeu-vos en que el programa que us oferim ja s’encarrega d’escriure aquesta sortida. Només cal que implementeu la funció abans esmentada.

Observació

La vostra funció i subfuncions que creeu han de treballar només amb arbres. Heu de trobar una solució RECURSIVA del problema.

Informació del problema

Autoria: PRO2

Generació: 2026-01-25T15:54:46.742Z

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