SlideShare a Scribd company logo
1 of 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; }

More Related Content

What's hot

Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalCarlos Cardelo
 
Circuitos integrados y familias logicas
Circuitos integrados y familias logicasCircuitos integrados y familias logicas
Circuitos integrados y familias logicasNoe Garcia
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedioGuillermo
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de erroresRonie Martínez
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesJarvey Gonzalez
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audioRick P
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesWilfred Garcia Diomeda
 
Mapa mental conmutacion
Mapa mental conmutacionMapa mental conmutacion
Mapa mental conmutacionSamuel Rivas
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estadosZy Mo
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesDaniel Morales
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Ana Castro
 
Diseño de un Amplificador de Audio
Diseño de un Amplificador de AudioDiseño de un Amplificador de Audio
Diseño de un Amplificador de AudioByron Ganazhapa
 

What's hot (20)

Problemas resueltos Electrónica digital
Problemas resueltos Electrónica digitalProblemas resueltos Electrónica digital
Problemas resueltos Electrónica digital
 
Circuitos integrados y familias logicas
Circuitos integrados y familias logicasCircuitos integrados y familias logicas
Circuitos integrados y familias logicas
 
Código Huffman
Código HuffmanCódigo Huffman
Código Huffman
 
REGLAS DE CODD
REGLAS DE CODDREGLAS DE CODD
REGLAS DE CODD
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Generador de codigo intermedio
Generador de codigo intermedioGenerador de codigo intermedio
Generador de codigo intermedio
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Detección y Corrección de errores
Detección y Corrección de erroresDetección y Corrección de errores
Detección y Corrección de errores
 
Conmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetesConmutacion de circuitos y paquetes
Conmutacion de circuitos y paquetes
 
Investigación técnicas de modulación
Investigación técnicas de modulaciónInvestigación técnicas de modulación
Investigación técnicas de modulación
 
Mat lab manipulación de señales de audio
Mat lab manipulación de señales de audioMat lab manipulación de señales de audio
Mat lab manipulación de señales de audio
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 
Mapa mental conmutacion
Mapa mental conmutacionMapa mental conmutacion
Mapa mental conmutacion
 
Circuitos logicos de tres estados
Circuitos logicos de tres estadosCircuitos logicos de tres estados
Circuitos logicos de tres estados
 
Arreglos - Assembler
Arreglos - AssemblerArreglos - Assembler
Arreglos - Assembler
 
Detección de errores CRC
Detección de errores CRCDetección de errores CRC
Detección de errores CRC
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Control de flujo en Telecomunicaciones
Control de flujo en TelecomunicacionesControl de flujo en Telecomunicaciones
Control de flujo en Telecomunicaciones
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Diseño de un Amplificador de Audio
Diseño de un Amplificador de AudioDiseño de un Amplificador de Audio
Diseño de un Amplificador de Audio
 

Similar to 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
 
Algoritmos de compresion
Algoritmos de compresionAlgoritmos de compresion
Algoritmos de compresion
 
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
 

More from 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
 

Recently uploaded

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...JAVIER SOLIS NOYOLA
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 

Recently uploaded (20)

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...
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
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
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 

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; }