SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Codificación de Huffman
David Buñay
Mateo Quizhpi
Erick Barzallo
Codificación de Huffman
- Es una técnica utilizada para la compresión de datos, ya sean archivos o
mensajes de texto
- Permite el ahorro de espacio como también la reducción del tiempo de
transmisión de datos
- Uso de código prefijo
- Conjunto de P de cadenas binarias asociadas a un conjunto de símbolos (0s 1s) en el cual el
principio de una cadena no puede ser otra cadena.
Ejemplo: x-> 001 y-> 110 z->10 + -> 11
Obtención del Código Prefijo
1. Construcción de un árbol dirigido con raíz binario
a. Nodos de la izquierda serán etiquetados con 1 o con 0
b. Nodos de la derecha serán etiquetados con 0 o con 1
2. Los vértices finales se les asignan los caracteres
Los símbolos menos probables tendrán códigos más largos, y los más probables
tendrán códigos más cortos
Ejemplo
- En un fichero de x caracteres se tiene 6 caracteres con las siguientes
frecuencias de aparición
1. Ordenar las frecuencias de menor a mayor
Caracter x y * + ( )
Frecuencia 10 10 15 25 20 20
10 10 15 20 20 25
2. Se toman los valores más pequeños y sumar, formando una nueva sublista
manteniendo el orden de menor a mayor. 1ra suma
3. Se vuelve a repetir el paso anterior, sumar los valores más pequeños y formar
una nueva sublista manteniendo el orden de menor a mayor. 2da suma
10 10 15 20 20 25
15 20 20 20 25
15 20 20 20 25
20 20 25 35
4. Realizamos las 4ta suma
5. Procedemos con la 5ta suma
6. Cuando se tiene una sublista de dos elementos, finaliza las sumas
20 20 25 35
25 35 40
40 60
25 35 40
40 60
Construcción del Árbol
Para la construcción del árbol binario seguimos los siguientes pasos:
1. Crear la raíz del árbol con los respectivos vértices, los cuales corresponden a
los dos últimos valores de la lista
40 60 R
40 60
2. Regresamos en las sublistas cambiando los valores de los nodos con los
sumandos correspondientes
40 60
25 35 40
R
40 60
R
40
25 35
3. Continuamos regresando en las sublistas
20 20 25 35
25 35 40
R
40
25 35
R
25 3520 20
15 20 20 20 25
20 20 25 35
R
2520 20
15 20
10 10 15 20 20 25
15 20 20 20 25
R
2520 20
15
10 10
Sustitución
Una vez que se obtenga por completo
el árbol, reemplazamos los nodos
finales que corresponden a
las frecuencias de los caracteres para
la obtención del código prefijo
R
2520 20
15
10 10
R
+( )
*
x y
Caracter x y * + ( )
Frecuencia 10 10 15 25 20 20
Finalmente se colocan las etiquetas de los respectivos nodos, recordando que
para este ejemplo las etiquetas serán 0 a la izquierda y 1 a la derecha
R
+( )
*
x y
0
0 1 0
0
0
1
1
1
1
Para la formación del binario de cada carácter, se debe leer desde la raíz principal
para obtener el código correspondiente
Caracter x y * + ( )
Frecuencia 10 10 15 25 20 20
Código 1110 1111 110 10 00 01
Bibliografía
- Universitat Politècnica de València, (2013). Teoría de Grafos en la vida real. Árboles.
Codificación de Huffman. ©. [video] Available at:
https://www.youtube.com/watch?v=W6WZT12ruGQ
- Algoritmos y Estructuras de Datos. (2016). 1st ed. [ebook] Santa Fe, Argentina:
Universidad Nacional del Litoral, pp.166 - 169. Available at:
http://www.cimec.org.ar/~mstorti/aed/aednotes.pdf

Más contenido relacionado

La actualidad más candente (10)

Ejemplo VLSM
Ejemplo VLSMEjemplo VLSM
Ejemplo VLSM
 
Calculo de sub redes
Calculo de sub redesCalculo de sub redes
Calculo de sub redes
 
Ip
IpIp
Ip
 
Subredes
SubredesSubredes
Subredes
 
Código Huffman
Código HuffmanCódigo Huffman
Código Huffman
 
Documents.tips metodo para-el-calculo-de-subredes
Documents.tips metodo para-el-calculo-de-subredesDocuments.tips metodo para-el-calculo-de-subredes
Documents.tips metodo para-el-calculo-de-subredes
 
Clases de subredes
Clases de subredesClases de subredes
Clases de subredes
 
Arbol De Huffman
Arbol De HuffmanArbol De Huffman
Arbol De Huffman
 
Ip
IpIp
Ip
 
CODIGO DE HUFFMAN
CODIGO DE HUFFMANCODIGO DE HUFFMAN
CODIGO DE HUFFMAN
 

Destacado

Destacado (11)

Como criar futuros delincuentes
Como criar futuros delincuentesComo criar futuros delincuentes
Como criar futuros delincuentes
 
Er. Sumit Kulkarni
Er. Sumit KulkarniEr. Sumit Kulkarni
Er. Sumit Kulkarni
 
30 nov-2009 observaciones al informe para primer debate del proyecto de ley o...
30 nov-2009 observaciones al informe para primer debate del proyecto de ley o...30 nov-2009 observaciones al informe para primer debate del proyecto de ley o...
30 nov-2009 observaciones al informe para primer debate del proyecto de ley o...
 
Taller de comuniocacion123
Taller de comuniocacion123Taller de comuniocacion123
Taller de comuniocacion123
 
Clima santander angela
Clima santander angelaClima santander angela
Clima santander angela
 
Diabetic Retinopathy
Diabetic RetinopathyDiabetic Retinopathy
Diabetic Retinopathy
 
gxudba
gxudbagxudba
gxudba
 
Expo fluidos
Expo fluidosExpo fluidos
Expo fluidos
 
Team Member ~ Company Profile
Team Member ~ Company ProfileTeam Member ~ Company Profile
Team Member ~ Company Profile
 
Docencia universitaria
Docencia universitariaDocencia universitaria
Docencia universitaria
 
Acrire do-cucurbitacee
Acrire do-cucurbitaceeAcrire do-cucurbitacee
Acrire do-cucurbitacee
 

Similar a Codificación de huffman

Similar a Codificación de huffman (20)

El sistema binario
El sistema binarioEl sistema binario
El sistema binario
 
Grafos 9.2_2016
Grafos 9.2_2016Grafos 9.2_2016
Grafos 9.2_2016
 
Algoritmos de compresión
Algoritmos de compresiónAlgoritmos de compresión
Algoritmos de compresión
 
Algoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-ToledoAlgoritmos compresión Cubi-Romero-Toledo
Algoritmos compresión Cubi-Romero-Toledo
 
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptxCE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1 (1).pptx
 
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptxCE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
CE143 - S06 Compresión de datos y ecuaciones en diferencias_c1.pptx
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
Presentacion Foro eulises brazon Josue Baez
Presentacion Foro eulises brazon  Josue Baez Presentacion Foro eulises brazon  Josue Baez
Presentacion Foro eulises brazon Josue Baez
 
3 direccionamiento ip
3 direccionamiento ip3 direccionamiento ip
3 direccionamiento ip
 
3 direccionamiento ip
3 direccionamiento ip3 direccionamiento ip
3 direccionamiento ip
 
Sistemas numéricos y compuertas básicas
Sistemas numéricos y compuertas básicasSistemas numéricos y compuertas básicas
Sistemas numéricos y compuertas básicas
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
Direccionamiento de red IPv4
Direccionamiento de red IPv4Direccionamiento de red IPv4
Direccionamiento de red IPv4
 

Codificación de huffman

  • 1. Codificación de Huffman David Buñay Mateo Quizhpi Erick Barzallo
  • 2. Codificación de Huffman - Es una técnica utilizada para la compresión de datos, ya sean archivos o mensajes de texto - Permite el ahorro de espacio como también la reducción del tiempo de transmisión de datos - Uso de código prefijo - Conjunto de P de cadenas binarias asociadas a un conjunto de símbolos (0s 1s) en el cual el principio de una cadena no puede ser otra cadena. Ejemplo: x-> 001 y-> 110 z->10 + -> 11
  • 3. Obtención del Código Prefijo 1. Construcción de un árbol dirigido con raíz binario a. Nodos de la izquierda serán etiquetados con 1 o con 0 b. Nodos de la derecha serán etiquetados con 0 o con 1 2. Los vértices finales se les asignan los caracteres Los símbolos menos probables tendrán códigos más largos, y los más probables tendrán códigos más cortos
  • 4. Ejemplo - En un fichero de x caracteres se tiene 6 caracteres con las siguientes frecuencias de aparición 1. Ordenar las frecuencias de menor a mayor Caracter x y * + ( ) Frecuencia 10 10 15 25 20 20 10 10 15 20 20 25
  • 5. 2. Se toman los valores más pequeños y sumar, formando una nueva sublista manteniendo el orden de menor a mayor. 1ra suma 3. Se vuelve a repetir el paso anterior, sumar los valores más pequeños y formar una nueva sublista manteniendo el orden de menor a mayor. 2da suma 10 10 15 20 20 25 15 20 20 20 25 15 20 20 20 25 20 20 25 35
  • 6. 4. Realizamos las 4ta suma 5. Procedemos con la 5ta suma 6. Cuando se tiene una sublista de dos elementos, finaliza las sumas 20 20 25 35 25 35 40 40 60 25 35 40 40 60
  • 7. Construcción del Árbol Para la construcción del árbol binario seguimos los siguientes pasos: 1. Crear la raíz del árbol con los respectivos vértices, los cuales corresponden a los dos últimos valores de la lista 40 60 R 40 60
  • 8. 2. Regresamos en las sublistas cambiando los valores de los nodos con los sumandos correspondientes 40 60 25 35 40 R 40 60 R 40 25 35
  • 9. 3. Continuamos regresando en las sublistas 20 20 25 35 25 35 40 R 40 25 35 R 25 3520 20
  • 10. 15 20 20 20 25 20 20 25 35 R 2520 20 15 20
  • 11. 10 10 15 20 20 25 15 20 20 20 25 R 2520 20 15 10 10
  • 12. Sustitución Una vez que se obtenga por completo el árbol, reemplazamos los nodos finales que corresponden a las frecuencias de los caracteres para la obtención del código prefijo R 2520 20 15 10 10
  • 13. R +( ) * x y Caracter x y * + ( ) Frecuencia 10 10 15 25 20 20
  • 14. Finalmente se colocan las etiquetas de los respectivos nodos, recordando que para este ejemplo las etiquetas serán 0 a la izquierda y 1 a la derecha R +( ) * x y 0 0 1 0 0 0 1 1 1 1
  • 15. Para la formación del binario de cada carácter, se debe leer desde la raíz principal para obtener el código correspondiente Caracter x y * + ( ) Frecuencia 10 10 15 25 20 20 Código 1110 1111 110 10 00 01
  • 16. Bibliografía - Universitat Politècnica de València, (2013). Teoría de Grafos en la vida real. Árboles. Codificación de Huffman. ©. [video] Available at: https://www.youtube.com/watch?v=W6WZT12ruGQ - Algoritmos y Estructuras de Datos. (2016). 1st ed. [ebook] Santa Fe, Argentina: Universidad Nacional del Litoral, pp.166 - 169. Available at: http://www.cimec.org.ar/~mstorti/aed/aednotes.pdf