SlideShare uma empresa Scribd logo
1 de 16
CODIGOS DE HUFFMAN ESTRUCTURAS DE DATOS
CODIFICACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UNA FORMA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ANALIZANDO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MEJORAR LA CODIFICACION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UN EJEMPLO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DECODIFICANDO 0 1 1 0 0 1 0 1 0 1 1 1 A Puede ser  B, C o D ? Puede ser  B o D ? B A Puede ser  B, C o D ? C Puede ser  B, C o D C Puede ser  B, C o D ? Puede ser  B o C ? D Para decodificar hay que elegir. El valor del codigo depende del valor siguiente: 1 o 0, binario  A 0 B 110 C 10 D 111
CONCLUSION ,[object Object],[object Object],[object Object],A B C D ,[object Object],[object Object],A(0) B C D(1) 0 1 1 0 0 1 0 1 0 1 1 1 ,[object Object],[object Object],C(0) B D(1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],B(0) D(1) Arbol de Huffman   Si logro generar un arbol asi, podre obtener los codigos:  codificar Y luego podre volver a la informacion inicial:  decodificar A 0 B 110 C 10 D 111
CONSTRUIR EL ARBOL ,[object Object],Ej:  ABACCDA  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BD Una vez construido el arbol, obtendremos los codigos de c/letra A 3 B 1 C 2 D 1 A 3 B 1 C 2 D 1 B(0) 1 D(1) 1 A 3 C 2 B D 2 C(0) 2 BD(1) 2 CBD 4 C B D 4 A(0) 3 CBD(1) 4 ACBD 7 ABCD 7
CONSEGUIR LOS CODIGOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],0 1 11 110 1 10 1 11 111 CBD 4 B(0) 1 D(1) 1 C(0) 2 BD(1) 2 A(0) 3 CBD(1) 4 ACBD 7 A B C D
EJERCICIO EN CLASE ,[object Object],A 15 B 6 C 7 D 12 E 25 F 4 G 6 H 3 I 15
DECIDIENDO QUE USAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],A 3 B 1 C 2 D 1 A 3 B 1 C 2 D 1
DECLARACION DE TDA: ARBOL E INFO typedef struct { string Cadena; int frecuencia; char bit; }Info; Cada elemento del nodo tiene: una cadena, frecuencia y un bit Es ideal agrupar toda esta informacion en un nuevo tipo de dato typedef struct { Generico G; NodoArbol *izq, *der; }NodoAB; Cada Nodo tendra Info, sub. Iza. Y subarbol der:
LA COLA DE PRIORIDAD La cola de Prioridad almacenará nodos de Arbol.  Se la puede implementar como una lista ordenada o un arreglo Si fuese lista, cada nodo seria y la cola: typedef LSE Cola; typedef struct { Generico G; //La informacion que almacena es NodoAB * NodoCola *sig; }Nodo_LSE;
IMPLENTACION: CONSTRUIR ARBOL Arbol ConstruirHuffman(Info_Nodo Frecuencias[], int n){ Cola Q; Info_Arbol I; Arbol nuevo, aizq, ader; VaciarCola(Q); //Construir nodos hojas for(i = 0; i < n; i++){ nuevo = NuevaHoja(Frecuencias[i]); EnCola(Q, nuevo); } //Construir arbol while(TRUE){ aizq = Desencola(Q); ader = Desencola(Q); aizq->I.bit = ‘0’; ader->I.bit = ‘1’; tmp.frec = aizq->I.frec + ader->I.frec; tmp.cadena =  StringConcat(aizq->I.cadena, ader->I.cadena); nuevo = NuevaHoja(tmp); nuevo->izq = aizq;  nuevo->der = ader; if(QEstaVacia(Q)) break; EnCola(C, nuevo); } return nuevo; }
IMPLEMENTACION: ASIGNAR CODIGOS string CodificarLetra(char L, Arbol H){ Arbol p; string strcodigo=“”; p = A; while(!EsHoja(p) && !EstaVacio(p)){ if(FindChar(p->izq->I.cadena, L) >= 0){ strcodigo =  Concat(strcodigo, “0”); p = p->izq; } else if (FindChar(p->der->I.cadena, L) >= 0){ strcodigo =  Concat(strcodigo, “1”); p = p->der; } else { strcodigo = CopyString(“”); break; } } return strcodigo; }

Mais conteúdo relacionado

Mais procurados

Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
Walter Toledo
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
Osiris Mirerus
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la información
nica2009
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
Daniel Huerta Cruz
 
Coliciones y manejo de errores en una red
Coliciones y manejo de errores en una redColiciones y manejo de errores en una red
Coliciones y manejo de errores en una red
lumartin120
 

Mais procurados (20)

Codificación de Huffman
Codificación de HuffmanCodificación de Huffman
Codificación de Huffman
 
TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN FUENTE
TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN FUENTE TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN FUENTE
TEORÍA DE LA INFORMACIÓN Y CODIFICACIÓN FUENTE
 
codificacion de linea
codificacion de lineacodificacion de linea
codificacion de linea
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
 
Paridad cruzada
Paridad cruzadaParidad cruzada
Paridad cruzada
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones III
 
ALGORITMO DES
ALGORITMO DESALGORITMO DES
ALGORITMO DES
 
Omega Up
Omega UpOmega Up
Omega Up
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Códigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones IIICódigos de errores - Telecomunicaciones III
Códigos de errores - Telecomunicaciones III
 
Exposicion hdb3.pptx
Exposicion hdb3.pptxExposicion hdb3.pptx
Exposicion hdb3.pptx
 
Fuentes de informacion y entropia
Fuentes de informacion y entropiaFuentes de informacion y entropia
Fuentes de informacion y entropia
 
Presentacion
PresentacionPresentacion
Presentacion
 
Lecture 4 teoría de la información
Lecture 4 teoría de la informaciónLecture 4 teoría de la información
Lecture 4 teoría de la información
 
Codigos De Huffman
Codigos De HuffmanCodigos De Huffman
Codigos De Huffman
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Coliciones y manejo de errores en una red
Coliciones y manejo de errores en una redColiciones y manejo de errores en una red
Coliciones y manejo de errores en una red
 
Códigos
Códigos Códigos
Códigos
 
Codificacion BCH
Codificacion BCHCodificacion BCH
Codificacion BCH
 

Semelhante a CODIGO DE HUFFMAN

Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
nica2009
 

Semelhante a CODIGO DE HUFFMAN (20)

Codigo Binario
Codigo BinarioCodigo Binario
Codigo Binario
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandez
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx6 Codificación de fuente.ppsx
6 Codificación de fuente.ppsx
 
Codigos digitales
Codigos digitalesCodigos digitales
Codigos digitales
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Lecture 3 codificación fuente
Lecture 3 codificación fuenteLecture 3 codificación fuente
Lecture 3 codificación fuente
 
Codigos..
Codigos..Codigos..
Codigos..
 
Codigos
Codigos Codigos
Codigos
 
sumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexoressumadores, codificadores, decodificadores,multiplexores, demultiplexores
sumadores, codificadores, decodificadores,multiplexores, demultiplexores
 
Puerto paralelo
Puerto paraleloPuerto paralelo
Puerto paralelo
 
Puerto paralelo
Puerto paraleloPuerto paralelo
Puerto paralelo
 
12. Arboles.ppt
12. Arboles.ppt12. Arboles.ppt
12. Arboles.ppt
 
CODIGO BCD E1.pptx
CODIGO BCD E1.pptxCODIGO BCD E1.pptx
CODIGO BCD E1.pptx
 
Códigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de DatosCódigos y Modos de Transmisión de Datos
Códigos y Modos de Transmisión de Datos
 
Sistema ascii y binario
Sistema ascii y binarioSistema ascii y binario
Sistema ascii y binario
 
Grafos 9.2 2016
Grafos 9.2 2016Grafos 9.2 2016
Grafos 9.2 2016
 
codificación de canal
codificación de canalcodificación de canal
codificación de canal
 
CodificacióN De Canal
CodificacióN De CanalCodificacióN De Canal
CodificacióN De Canal
 
Sisitemas prac7
Sisitemas  prac7Sisitemas  prac7
Sisitemas prac7
 

Mais de Gustavo Salazar Loor (20)

Max Plus Compilar vhdl
Max Plus Compilar vhdlMax Plus Compilar vhdl
Max Plus Compilar vhdl
 
ECUADOR
ECUADORECUADOR
ECUADOR
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase07
Electronica I Clase07Electronica I Clase07
Electronica I Clase07
 
Electronica I Clase06
Electronica I Clase06Electronica I Clase06
Electronica I Clase06
 
Electronica I Clase05
Electronica I Clase05Electronica I Clase05
Electronica I Clase05
 
Electronica I Clase04
Electronica I Clase04Electronica I Clase04
Electronica I Clase04
 
Electronica I Clase03
Electronica I Clase03Electronica I Clase03
Electronica I Clase03
 
Electronica I Clase02
Electronica I Clase02Electronica I Clase02
Electronica I Clase02
 
Electronica I Clase01
Electronica I Clase01Electronica I Clase01
Electronica I Clase01
 
TDA
TDATDA
TDA
 
ARBOLES MULTICAMINOS
ARBOLES MULTICAMINOSARBOLES MULTICAMINOS
ARBOLES MULTICAMINOS
 
LISTAS ESPECIALES
LISTAS ESPECIALESLISTAS ESPECIALES
LISTAS ESPECIALES
 
LISTAS
LISTASLISTAS
LISTAS
 
GRAFOS
GRAFOSGRAFOS
GRAFOS
 
HEAPS
HEAPSHEAPS
HEAPS
 
ARBOLES
ARBOLESARBOLES
ARBOLES
 
COLAS
COLASCOLAS
COLAS
 
PILAS
PILASPILAS
PILAS
 
RESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACIONRESPIRACION Y FERMENTACION
RESPIRACION Y FERMENTACION
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 

Último (20)

ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 

CODIGO DE HUFFMAN

  • 1. CODIGOS DE HUFFMAN ESTRUCTURAS DE DATOS
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. DECODIFICANDO 0 1 1 0 0 1 0 1 0 1 1 1 A Puede ser B, C o D ? Puede ser B o D ? B A Puede ser B, C o D ? C Puede ser B, C o D C Puede ser B, C o D ? Puede ser B o C ? D Para decodificar hay que elegir. El valor del codigo depende del valor siguiente: 1 o 0, binario A 0 B 110 C 10 D 111
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. DECLARACION DE TDA: ARBOL E INFO typedef struct { string Cadena; int frecuencia; char bit; }Info; Cada elemento del nodo tiene: una cadena, frecuencia y un bit Es ideal agrupar toda esta informacion en un nuevo tipo de dato typedef struct { Generico G; NodoArbol *izq, *der; }NodoAB; Cada Nodo tendra Info, sub. Iza. Y subarbol der:
  • 14. LA COLA DE PRIORIDAD La cola de Prioridad almacenará nodos de Arbol. Se la puede implementar como una lista ordenada o un arreglo Si fuese lista, cada nodo seria y la cola: typedef LSE Cola; typedef struct { Generico G; //La informacion que almacena es NodoAB * NodoCola *sig; }Nodo_LSE;
  • 15. IMPLENTACION: CONSTRUIR ARBOL Arbol ConstruirHuffman(Info_Nodo Frecuencias[], int n){ Cola Q; Info_Arbol I; Arbol nuevo, aizq, ader; VaciarCola(Q); //Construir nodos hojas for(i = 0; i < n; i++){ nuevo = NuevaHoja(Frecuencias[i]); EnCola(Q, nuevo); } //Construir arbol while(TRUE){ aizq = Desencola(Q); ader = Desencola(Q); aizq->I.bit = ‘0’; ader->I.bit = ‘1’; tmp.frec = aizq->I.frec + ader->I.frec; tmp.cadena = StringConcat(aizq->I.cadena, ader->I.cadena); nuevo = NuevaHoja(tmp); nuevo->izq = aizq; nuevo->der = ader; if(QEstaVacia(Q)) break; EnCola(C, nuevo); } return nuevo; }
  • 16. IMPLEMENTACION: ASIGNAR CODIGOS string CodificarLetra(char L, Arbol H){ Arbol p; string strcodigo=“”; p = A; while(!EsHoja(p) && !EstaVacio(p)){ if(FindChar(p->izq->I.cadena, L) >= 0){ strcodigo = Concat(strcodigo, “0”); p = p->izq; } else if (FindChar(p->der->I.cadena, L) >= 0){ strcodigo = Concat(strcodigo, “1”); p = p->der; } else { strcodigo = CopyString(“”); break; } } return strcodigo; }