Red de conocimientos turísticos - Lugares de interés turístico - ¿Cuáles son los algoritmos clásicos de compresión sin pérdidas en lenguaje C?

¿Cuáles son los algoritmos clásicos de compresión sin pérdidas en lenguaje C?

Los algoritmos clásicos de compresión sin pérdidas en lenguaje C incluyen el algoritmo de Huffman y LZ.

Algoritmo de Huffman:

La codificación de Huffman es un algoritmo de codificación inventado por David A. Hoffman en 1952, que cumple con los requisitos de los algoritmos de codificación.

El algoritmo de Huffman utiliza información de frecuencia para construir un árbol binario. Las frecuencias altas están cerca del nodo raíz (longitud de codificación corta) y las frecuencias bajas están lejos del nodo raíz (longitud de codificación larga). El método de construcción manual consiste en ordenar las letras en orden descendente de frecuencia y luego seleccionar continuamente los dos nodos con el peso más pequeño entre los nodos que actualmente no tienen nodos principales para construir nuevos nodos principales. suma de los valores de los dos nodos hasta que la estructura produce un árbol binario.

Algoritmo LZ:

El algoritmo LZ y sus algoritmos de deformación derivados son una serie de algoritmos de compresión. Los algoritmos LZ77 y LZ78 fueron creados en 1977 y 1978 respectivamente. Aunque los nombres son similares, los algoritmos son completamente diferentes. Esta serie de algoritmos es adecuada principalmente para información con letras limitadas, como texto y código fuente. Las imágenes populares en formatos GIF y PNG utilizan una cantidad limitada de colores en un espacio de color y su compresión emplea la aplicación de deformación flexible de ambos algoritmos.