Modifique la función lzw_compress para que reciba como parámetro el tamaño máxim...
✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.
Modifique la función lzw_compress para que reciba como parámetro el tamaño máximo del diccionario y no permita que el mismo crezca más allá de este tamaño, verifique que el algoritmo siga funcionando correctamente.def lzw_compress(data): # Crear el diccionario inicial con todos los caracteres únicos diccionario = {chr(i): i for i in range(256)} # Códigos de 0 a 255 para caracteres ASCII código_actual = 256 # Siguiente código disponible # Variables de estado W = "" resultado = [] # Iterar sobre cada símbolo en la entrada for C in data: WC = W + C if WC in diccionario: W = WC # Si W + C está en el diccionario, expandir W else: # Emitir el código de W resultado.append(diccionario[W]) # Agregar W + C al diccionario diccionario[WC] = código_actual código_actual += 1 # Establecer W como el nuevo símbolo actual W = C # Emitir el último código de W if W: resultado.append(diccionario[W]) return resultado