Donada la classe dicc que permet gestionar diccionaris on només hi guardem claus úniques usant tries implementats amb la tècnica d’arbres ternaris de cerca (TST), cal implementar el mètode
que retorna una llista amb totes les claus del diccionari ordenades de forma decreixent.
Les claus són del tipus string i els símbols utilitzats per construir el trie són els chars de les claus. S’ha usat el char especial ’#’ per indicar la fi de la clau.
Cal enviar a jutge.org la següent especificació de la classe dicc i la implementació del mètode dins del mateix fitxer. La resta de mètodes públics i privats ja estan implementats. Indica el cost en funció de s (nombre de símbols que té l’alfabet) i l (nombre mig de símbols que sol tenir una clau).
Degut a que jutge.org només permet l’enviament d’un fitxer amb la solució del problema, en el mateix fitxer hi ha d’haver l’especificació de la classe i la implementació del mètode llista_ordenada_dec (el que normalment estarien separats en els fitxers .hpp i .cpp).
Per testejar la classe disposes d’un programa principal que insereix claus en un diccionari i després calcula i mostra la llista ordenada de totes les claus del diccionari.
Entrada
L’entrada conté una llista de strings separats per canvis de línia: són les claus que tindrà el diccionari.
Sortida
Mostra la llista amb totes les claus ordenades de més gran a més petita, cada clau en una línia diferent.
Observació
Només cal enviar la classe requerida, la implementació del mètode llista_ordenada_dec i el cost en funció de s (nombre de símbols que té l’alfabet) i l (nombre mig de símbols que sol tenir una clau). Pots ampliar la classe amb mètodes privats. Segueix estrictament la definició de la classe de l’enunciat.
Input
Output
Input
OCA
Output
OCA
Input
CASA CAS
Output
CASA CAS
Input
DAU DIT AU AVI CASA COP CAP CAPA OU OLA UN EXTRAMUR FUM FOC ILLA ALA AL
Output
UN OU OLA ILLA FUM FOC EXTRAMUR DIT DAU COP CASA CAPA CAP AVI AU ALA AL
Input
A OU DAU DIT AU AI ILLA ALA AL I
Output
OU ILLA I DIT DAU AU ALA AL AI A