Un arbre binari complet és un arbre binari en què tots els nivells, excepte potser l’últim, estan completament omplerts i tots els nodes estan tan a l’esquerra com sigui possible (mireu el pdf d’aquest enunciat si no us surt la imatge amb els exemples).
Us demanem que feu una funció
complet(a), que, donada una instància de
la classe Arbre Binari
,
retorni True si
és complet, i False si
no és complet, i l’afegiu al fitxer
code.py tal com s’especifica a les
Observacions.
Paràmetres i retorn
El paràmetre de la funció complet(a) és
una instància de la classe ArbreBinari (que ja
coneixem).
La funció retorna un booleà: True si
és complet, False si no ho és.
L’entrada al programa serà el preordre de l’arbre binari, amb marca “-1” (atenció, és una string) per indicar els arbres buits (ja coneixem aquest format dels exercicis a classe de laboratori, aquí, però, treballem amb strings perquè el contingut dels nodes de l’arbre no ens importa).
Vegeu els exemples del joc de proves públic.
El programa ha d’escriure un booleà: True si
és complet, False si no ho és.
Vegeu els exemples del joc de proves públic.
Heu de baixar-vos el fitxer code.py
(icona de la serp). Aquest fitxer és un programa amb
tot el que cal per executar els jocs de prova públics.
Només falta, clar, la funció que us demana l’enunciat. Aquest fitxer
l’heu de completar amb el codi que falta, i això, tot,
és el que heu d’enviar al Jutge com a solució.
Dins el fitxer code.py teniu la classe
ArbreBinari que hem treballat a les
classes de teoria. No caldrà que la vostra solució faci cap
import ni res. Tot el codi que us cal el teniu dins de
code.py.
Pista: Aquest problema es pot resoldre d’una manera similar al recorregut per nivells.
L’eficiència i la qualitat de la solució es tindran en compte a la correcció manual.
Input
0 -1 0 -1 -1
Output
False
Input
0 0 -1 -1 0 -1 -1
Output
True
Input
0 0 0 -1 -1 0 -1 -1 0 0 -1 -1 0 -1 -1
Output
True
Input
0 0 0 -1 -1 0 -1 -1 0 -1 -1
Output
True
Input
0 0 -1 -1 -1
Output
True
Input
0 -1 0 -1 0 0 -1 -1 0 -1 -1
Output
False
Input
0 0 -1 -1 0 0 -1 -1 -1
Output
False
Input
-1
Output
True
Input
0 -1 -1
Output
True