logo

Crowdly

Modifique la función lzw_decompress para que reciba como parámetro el tamaño má...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

Modifique la función lzw_decompress 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_decompress(compressed_data):    # Crear el diccionario inicial con todos los caracteres únicos    diccionario = {i: chr(i) for i in range(256)}  # Códigos de 0 a 255 para caracteres ASCII    código_actual = 256  # Siguiente código disponible

    # Inicializar la secuencia con el primer código    W = diccionario[compressed_data[0]]    resultado = [W]

    # Iterar sobre el resto de los códigos comprimidos    for k in compressed_data[1:]:        if k in diccionario:            entrada = diccionario[k]  # Si el código está en el diccionario        elif k == código_actual:            entrada = W + W[0]  # Caso especial si el código es el siguiente disponible        else:            raise ValueError(f"Código no válido: {k}")

        # Agregar la entrada a los resultados        resultado.append(entrada)

        # Agregar la nueva secuencia W + primer carácter de entrada al diccionario        diccionario[código_actual] = W + entrada[0]        código_actual += 1

        # Actualizar W        W = entrada

    return ''.join(resultado)

More questions like this

Want instant access to all verified answers on moodle2025.url.edu.gt?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!