Red de conocimiento informático - Problemas con los teléfonos móviles - Codificación de Huffman en el algoritmo Python

Codificación de Huffman en el algoritmo Python

Pregunta: La codificación Huffman, nombre en inglés Huffman Coding, a veces traducida como codificación Huffman, se propuso en 1952 y es el mejor método de codificación. La codificación Huffman tiene aplicaciones importantes en las comunicaciones electrónicas y también se usa ampliamente en la compresión de datos. Su relación de compresión suele estar entre 20 y 90. La codificación Huffman es un código de longitud variable (VLC). El árbol de Huffman es un árbol binario óptimo, que es el árbol binario con la longitud de ruta ponderada más pequeña.

Principio:

Supongamos que hay varios números 40, 10, 20, 16, 14.

Primero, ordena estos cinco números en orden ascendente: 10, 14, 16, 20, 40.

Construye un árbol de Huffman:

1.

2. Reordenar: 2. Reordenar: 16, 20, 24, 40

3. Reordenar 24, 36, 40, 60

4. Según la izquierda -0-right-1 del árbol binario

Por lo tanto, finalmente codificamos el número 10 como 100, el número 14 como 101, el número 16 como 110, y el número 20 como 111, el número 40 está codificado como 111.

Código:

Resultados de ejecución: