Donada la classe Arbre que permet gestionar arbres generals usant memòria dinàmica, cal implementar el mètode
que retorna el nivell a on està el primer element x fent un recorregut en post-ordre. Retorna −1 si x no hi és.
Cal enviar a jutge.org la següent especificació de la classe Arbre i la implementació del mètode dins del mateix fitxer. Indica dins d’un comentari a la capçalera del mètode el seu cost en funció del nombre d’elements n de l’arbre.
Per testejar la solució, jutge.org ja té implementats la resta de mètodes de la classe Arbre i un programa principal que llegeix un arbre general d’enters i desprès crida el mètode nivell_postordre.
Entrada
L’entrada consisteix en la descripció d’un arbre general d’enters (el seu recorregut en preordre, en el qual al valor de cada node li segueix el seu nombre de fills). A continuació segueix una seqüència d’enters que representen diferents valors per testejar nivell_postordre.
Sortida
Una línia per cada element x de la seqüència d’enters d’entrada, amb el nivell a on està el primer element x fent un recorregut en post-ordre (−1 si x no hi és).
Observació
Només cal enviar la classe requerida i la implementació del mètode nivell_postordre amb el seu cost en funció del nombre d’elements n de l’arbre. Pots ampliar la classe amb mètodes privats. Segueix estrictament la definició de la classe de l’enunciat.
Input
7 0 9 7
Output
-1 0
Input
7 2 8 0 -8 0 9 7 8 -8
Output
-1 0 1 1
Input
-7 3 8 0 4 2 3 1 0 1 6 0 -5 0 2 4 9 0 1 0 2 0 5 0 0 1 2 3 4 5 6 7 8 9 -7
Output
3 2 2 2 1 2 4 -1 1 2 0
Input
-7 3 8 0 4 2 2 1 1 1 9 0 -7 1 2 0 2 4 9 0 1 0 8 0 4 0 0 1 2 3 4 5 6 7 8 9 -7
Output
-1 3 2 -1 1 -1 -1 -1 1 4 2