SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Búsqueda por Hash Milena Matamoros Manuel Ricardo Cortés Juan Carlos García
Procedimiento Método consistente en aplicar una función que traduce un conjunto de posibles valores llave en un rango de direcciones relativas
Casos de Colision
soluciones  para reducir el número de colisiones Propagar los registros: Buscar funciones que distribuyan muy aleatoriamente los registros podemos evitar "agrupaciones" de llaves que produzcan las mismas direcciones Usar memoria extra: En el ejemplo anterior planteamos tener una dirección de entre 1000 posibles, el uso de memoria extra se basa en proponer un espacio de direcciones posibles mucho más grande que el número de registros a usar, de modo que si vamos a insertar 100 registros  un espacio de 500 direcciones nos una mejor opción de esparcir mejor. Colocar más de un registro en una dirección: A diferencia de los casos anteriores donde cada dirección almacena únicamente un registro, este concepto se basa en "buckets" o cubetas de datos en cada dirección, ahí se colocan algunos (casi todos) los registros que colisionan de manera que al hacer una búsqueda debemos recuperar la cubeta entera y ahi buscar por el registro deseado.
9.3.1 Un Algoritmo de Hash No existe una fórmula "única" para hash, pero el producirla es un algoritmo que básicamente se presenta en 3 pasos:1) Representar la llave de manera numérica (siempre que no sea de por sí un número)Una buena opción es usar los valores ASCII o bien los Unicode de las letrasLOWELL=  L   O W  E   L  L   _   _  _    _   _   _                     76 79 87 69 76 76 32 32 32 32 32 322) Plegar y AgregarCombinar algunos de estos números para generar pequeños trozos con los que podamos trabajar76 79  |  87 69 |  76 76 |  32 32 |  32 32 |  32 32De manera que podemos hacer algunas operaciones matemáticas con dichos números para finalmente obtener un número del cual obtendremos la dirección7679 + 8769 + 7676 + 3232 + 3232 = 30 588Nota: Respecto a la implementación se puede dar el caso de formar números demasiado grandes, tanto que llegue al overflow del tipo de datos que estemos usando. Para solucionar esto podemos usar funciones como el "mod" intermedias para no tener ese problema.3) Dividir por un número primo y usar el resultado como direcciónLos archivos de hash por lo general suelen limitarse a un cierto rango de direcciones posibles para aprovechar mejor el concepto de memoria. de manera que podemos concluir nuestro algoritmo con la fórmula: a= s mod n donde a es la dirección resultante, s es la suma o resultado de los pasos anteriores y n el número de direcciones posibles en el archivoExisten innumerables operaciones adicionales que pueden aplicarse en las fórmulas, así como las técnicas para limitar el valor final. Entre ellas se encuentran: elevar a alguna potencia, raíz cuadrada, convertir los números de base (hexadecimal, octal), etc...
Ventajas Se pueden usar los valores naturales de la llave, puesto que se traducen internamente a direcciones fáciles de localizar  Se logra independencia lógica y física, debido a que los valores de las llaves son independientes del espacio de direcciones  No se requiere almacenamiento adicional para los índices.
Desventajas No pueden usarse registros de longitud variable  El archivo no esta clasificado  No permite llaves repetidas  Solo permite acceso por una sola llave
Costos Tiempo de procesamiento requerido para la aplicación de la función hash  Tiempo de procesamiento y los accesos E/S requeridos para solucionar las colisiones.
Factores de Eficiencia La distribución de los valores de llave que realmente se usan  El numero de valores de llave que realmente están en uso con respecto al tamaño del espacio de direcciones  El numero de registros que pueden almacenarse en una dirección dad sin causar una colisión  La técnica usada para resolver el problema de las colisiones
Tipos de Funcion Hash Residuo de la división  Medio del cuadrado  Pliegue
Hashing por residuo de división     La idea de este método es la de dividir el valor de la llave entre un numero apropiado, y después utilizar el residuo de la división como dirección relativa para el registro (dirección = llave módulo divisor).
Consideraciones      Independientemente de que tan bueno sea el divisor, cuando el espacio de direcciones de un archivo esta completamente lleno, la probabilidad de colisión crece dramáticamente. La saturación de archivo de mide mediante su factor de carga, el cual se define como la relación del numero de registros en el archivo contra el numero de registros que el archivo podría contener si estuviese completamente lleno.
Factor de Carga     Todas las funciones hash comienzan a trabajar probablemente cuando el archivo esta casi lleno. Por lo general el máximo factor de carga que puede tolerarse en un archivo para un rendimiento razonable es de entre el 70 % y 80 %.   
Hashing por Elevacion al cuadrado     En esta técnica, la llave es elevada al cuadrado, después algunos dígitos específicos se extraen de la mitad del resultado para constituir la dirección relativa. Si se desea una dirección de n dígitos, entonces los dígitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando n dígitos intermedios. Las mismas posiciones de n dígitos deben extraerse para cada llave.  Utilizando esta función hashing el tamaño del archivo resultante es de 10n donde n es el numero de dígitos extraídos de los valores de la llave elevada al cuadrado.
Hashing por Pliegue     En esta técnica el valor de la llave es particionada en varias partes, cada una de las cuales  (excepto la ultima) tiene el mismo numero de dígitos que tiene la dirección relativa objetivo. Estas particiones son después plegadas una sobre otra y sumadas. El resultado, es la dirección relativa. Igual que para el método del medio del cuadrado, el tamaño del espacio de direcciones relativas es una potencia de 10.

Weitere ähnliche Inhalte

Was ist angesagt?

Algoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientoAlgoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientojaviervilugron
 
Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedarehoscript
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesDiana Yánez
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptaciondnisse
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Internasawmuk
 
tablahash(marialuisa)
tablahash(marialuisa)tablahash(marialuisa)
tablahash(marialuisa)edi.euitio
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)edi.euitio
 
Tablas hash(Covadonga Quirós)
Tablas hash(Covadonga Quirós)Tablas hash(Covadonga Quirós)
Tablas hash(Covadonga Quirós)edi.euitio
 
Tablas Hash (Sergio Sánchez Marcos)
Tablas Hash (Sergio Sánchez Marcos)Tablas Hash (Sergio Sánchez Marcos)
Tablas Hash (Sergio Sánchez Marcos)edi.euitio
 
Firma elgamal
Firma elgamalFirma elgamal
Firma elgamalG Hoyos A
 

Was ist angesagt? (18)

Hashing
HashingHashing
Hashing
 
Algoritmo de busqueda truncamiento
Algoritmo de busqueda truncamientoAlgoritmo de busqueda truncamiento
Algoritmo de busqueda truncamiento
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busqueda
 
Algoritmos Para Encriptar Claves
Algoritmos Para Encriptar ClavesAlgoritmos Para Encriptar Claves
Algoritmos Para Encriptar Claves
 
Algoritmos De Encriptacion
Algoritmos De EncriptacionAlgoritmos De Encriptacion
Algoritmos De Encriptacion
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Interna
 
tablahash(marialuisa)
tablahash(marialuisa)tablahash(marialuisa)
tablahash(marialuisa)
 
IA CAPITULO 4
IA  CAPITULO 4IA  CAPITULO 4
IA CAPITULO 4
 
Funciones (parte ii)
Funciones (parte ii)Funciones (parte ii)
Funciones (parte ii)
 
Funciones (parte ii) 1
Funciones (parte ii) 1Funciones (parte ii) 1
Funciones (parte ii) 1
 
Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)Tablas hash (Adrián García Amores)
Tablas hash (Adrián García Amores)
 
Tablas hash(Covadonga Quirós)
Tablas hash(Covadonga Quirós)Tablas hash(Covadonga Quirós)
Tablas hash(Covadonga Quirós)
 
Tablas Hash (Sergio Sánchez Marcos)
Tablas Hash (Sergio Sánchez Marcos)Tablas Hash (Sergio Sánchez Marcos)
Tablas Hash (Sergio Sánchez Marcos)
 
Firma elgamal
Firma elgamalFirma elgamal
Firma elgamal
 
Act4
Act4Act4
Act4
 
Funciones
FuncionesFunciones
Funciones
 

Andere mochten auch

Visita Corralejo
Visita CorralejoVisita Corralejo
Visita Corralejocorralejo
 
El Telefono
El TelefonoEl Telefono
El Telefono. .
 
Facundo Cabral
Facundo CabralFacundo Cabral
Facundo CabralJose Gomez
 
Bel N En Las Palmas
Bel N En Las PalmasBel N En Las Palmas
Bel N En Las PalmasJose Gomez
 
Tutoriel arcgis-9-32
Tutoriel arcgis-9-32Tutoriel arcgis-9-32
Tutoriel arcgis-9-32aisha-toure
 
los principios de la vida
los principios de la vidalos principios de la vida
los principios de la vidaOscar revoltoso
 
Carretera en bolivia
Carretera en boliviaCarretera en bolivia
Carretera en boliviaJose Gomez
 
Salidas Profesionales De La Educacion Social
Salidas Profesionales De La Educacion SocialSalidas Profesionales De La Educacion Social
Salidas Profesionales De La Educacion Socialmcresan
 
GlobalizacióN ExclucióN Y Juventud
GlobalizacióN  ExclucióN Y JuventudGlobalizacióN  ExclucióN Y Juventud
GlobalizacióN ExclucióN Y Juventudjuanmartineza
 
Power point sur l'énergie libre
Power point sur l'énergie librePower point sur l'énergie libre
Power point sur l'énergie libremonki9
 
La présentation du Livre blanc - Entreprise 2.0 : start-up et PME
La présentation du Livre blanc - Entreprise 2.0 : start-up et PMELa présentation du Livre blanc - Entreprise 2.0 : start-up et PME
La présentation du Livre blanc - Entreprise 2.0 : start-up et PMEValéry Naula
 

Andere mochten auch (20)

Visita Corralejo
Visita CorralejoVisita Corralejo
Visita Corralejo
 
El Telefono
El TelefonoEl Telefono
El Telefono
 
Rob Gonsalves
Rob GonsalvesRob Gonsalves
Rob Gonsalves
 
Facundo Cabral
Facundo CabralFacundo Cabral
Facundo Cabral
 
Bel N En Las Palmas
Bel N En Las PalmasBel N En Las Palmas
Bel N En Las Palmas
 
Petra ciudad
Petra ciudadPetra ciudad
Petra ciudad
 
Forest Walk
Forest WalkForest Walk
Forest Walk
 
Tutoriel arcgis-9-32
Tutoriel arcgis-9-32Tutoriel arcgis-9-32
Tutoriel arcgis-9-32
 
Garay Icde2007
Garay Icde2007Garay Icde2007
Garay Icde2007
 
los principios de la vida
los principios de la vidalos principios de la vida
los principios de la vida
 
Carretera en bolivia
Carretera en boliviaCarretera en bolivia
Carretera en bolivia
 
Llamame
LlamameLlamame
Llamame
 
Salidas Profesionales De La Educacion Social
Salidas Profesionales De La Educacion SocialSalidas Profesionales De La Educacion Social
Salidas Profesionales De La Educacion Social
 
GlobalizacióN ExclucióN Y Juventud
GlobalizacióN  ExclucióN Y JuventudGlobalizacióN  ExclucióN Y Juventud
GlobalizacióN ExclucióN Y Juventud
 
Beautiful Colima
Beautiful ColimaBeautiful Colima
Beautiful Colima
 
Desde mi cruz
Desde mi cruzDesde mi cruz
Desde mi cruz
 
Power point sur l'énergie libre
Power point sur l'énergie librePower point sur l'énergie libre
Power point sur l'énergie libre
 
Antes Del Juicio Final
Antes Del Juicio FinalAntes Del Juicio Final
Antes Del Juicio Final
 
La présentation du Livre blanc - Entreprise 2.0 : start-up et PME
La présentation du Livre blanc - Entreprise 2.0 : start-up et PMELa présentation du Livre blanc - Entreprise 2.0 : start-up et PME
La présentation du Livre blanc - Entreprise 2.0 : start-up et PME
 
Shangai
ShangaiShangai
Shangai
 

Ähnlich wie Busqueda por HASH

Ähnlich wie Busqueda por HASH (20)

hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)Informe analisis de algoritmos (mitad de cuadrado)
Informe analisis de algoritmos (mitad de cuadrado)
 
Hashing
HashingHashing
Hashing
 
Factorización de números semiprimos
Factorización de números semiprimosFactorización de números semiprimos
Factorización de números semiprimos
 
Cuadro Comparativo de Algoritmos
Cuadro Comparativo de AlgoritmosCuadro Comparativo de Algoritmos
Cuadro Comparativo de Algoritmos
 
Hashing 140424140121-phpapp01
Hashing 140424140121-phpapp01Hashing 140424140121-phpapp01
Hashing 140424140121-phpapp01
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Tablas Hash Fash Vmaa
Tablas Hash Fash VmaaTablas Hash Fash Vmaa
Tablas Hash Fash Vmaa
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
Hashing
HashingHashing
Hashing
 
Hashing
HashingHashing
Hashing
 
Aritmética Modular
Aritmética ModularAritmética Modular
Aritmética Modular
 
Informe aritmetica modular
Informe aritmetica modularInforme aritmetica modular
Informe aritmetica modular
 
Tipos algoritmos
Tipos algoritmosTipos algoritmos
Tipos algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Analisissss
AnalisissssAnalisissss
Analisissss
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Presentacion tipos de datos access
Presentacion tipos de datos accessPresentacion tipos de datos access
Presentacion tipos de datos access
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 

Mehr von Sykrayo

Código 10
Código 10Código 10
Código 10Sykrayo
 
Comandos ms dos
Comandos ms dosComandos ms dos
Comandos ms dosSykrayo
 
Testdisk
TestdiskTestdisk
TestdiskSykrayo
 
Autocad civil-3D
Autocad civil-3DAutocad civil-3D
Autocad civil-3DSykrayo
 
Manual a.f.i.s.
Manual a.f.i.s.Manual a.f.i.s.
Manual a.f.i.s.Sykrayo
 
3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-ossSykrayo
 
Balistica trabajo
Balistica trabajoBalistica trabajo
Balistica trabajoSykrayo
 
La interpretacion de los dibujos y garabatos
La interpretacion de los dibujos y garabatosLa interpretacion de los dibujos y garabatos
La interpretacion de los dibujos y garabatosSykrayo
 
The counterterrorism handbook tactics, procedures, and techniques español
The counterterrorism handbook  tactics, procedures, and techniques españolThe counterterrorism handbook  tactics, procedures, and techniques español
The counterterrorism handbook tactics, procedures, and techniques españolSykrayo
 
Sipsons forense español
Sipsons forense españolSipsons forense español
Sipsons forense españolSykrayo
 
Temamario Policia Nacional 2013/2014
Temamario Policia Nacional 2013/2014Temamario Policia Nacional 2013/2014
Temamario Policia Nacional 2013/2014Sykrayo
 
Manual smartsketch
Manual smartsketchManual smartsketch
Manual smartsketchSykrayo
 
Reconocimiento Forense Odontologia
Reconocimiento Forense OdontologiaReconocimiento Forense Odontologia
Reconocimiento Forense OdontologiaSykrayo
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual EspañolSykrayo
 
Tutorial Pccrash spain
Tutorial Pccrash spainTutorial Pccrash spain
Tutorial Pccrash spainSykrayo
 
Guia derechos-victimas-viogen-chino
Guia derechos-victimas-viogen-chinoGuia derechos-victimas-viogen-chino
Guia derechos-victimas-viogen-chinoSykrayo
 
Guia derechos-victimas-viogen-gallego
Guia derechos-victimas-viogen-gallegoGuia derechos-victimas-viogen-gallego
Guia derechos-victimas-viogen-gallegoSykrayo
 
Guia derechos-victimas-viogen-frances
Guia derechos-victimas-viogen-francesGuia derechos-victimas-viogen-frances
Guia derechos-victimas-viogen-francesSykrayo
 
Guia derechos-victimas-viogen-espa
Guia derechos-victimas-viogen-espaGuia derechos-victimas-viogen-espa
Guia derechos-victimas-viogen-espaSykrayo
 

Mehr von Sykrayo (20)

COFFE
COFFECOFFE
COFFE
 
Código 10
Código 10Código 10
Código 10
 
Comandos ms dos
Comandos ms dosComandos ms dos
Comandos ms dos
 
Testdisk
TestdiskTestdisk
Testdisk
 
Autocad civil-3D
Autocad civil-3DAutocad civil-3D
Autocad civil-3D
 
Manual a.f.i.s.
Manual a.f.i.s.Manual a.f.i.s.
Manual a.f.i.s.
 
3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss3604299 analisis-criminalistico-forense-con-oss
3604299 analisis-criminalistico-forense-con-oss
 
Balistica trabajo
Balistica trabajoBalistica trabajo
Balistica trabajo
 
La interpretacion de los dibujos y garabatos
La interpretacion de los dibujos y garabatosLa interpretacion de los dibujos y garabatos
La interpretacion de los dibujos y garabatos
 
The counterterrorism handbook tactics, procedures, and techniques español
The counterterrorism handbook  tactics, procedures, and techniques españolThe counterterrorism handbook  tactics, procedures, and techniques español
The counterterrorism handbook tactics, procedures, and techniques español
 
Sipsons forense español
Sipsons forense españolSipsons forense español
Sipsons forense español
 
Temamario Policia Nacional 2013/2014
Temamario Policia Nacional 2013/2014Temamario Policia Nacional 2013/2014
Temamario Policia Nacional 2013/2014
 
Manual smartsketch
Manual smartsketchManual smartsketch
Manual smartsketch
 
Reconocimiento Forense Odontologia
Reconocimiento Forense OdontologiaReconocimiento Forense Odontologia
Reconocimiento Forense Odontologia
 
Live code manual Español
Live code manual EspañolLive code manual Español
Live code manual Español
 
Tutorial Pccrash spain
Tutorial Pccrash spainTutorial Pccrash spain
Tutorial Pccrash spain
 
Guia derechos-victimas-viogen-chino
Guia derechos-victimas-viogen-chinoGuia derechos-victimas-viogen-chino
Guia derechos-victimas-viogen-chino
 
Guia derechos-victimas-viogen-gallego
Guia derechos-victimas-viogen-gallegoGuia derechos-victimas-viogen-gallego
Guia derechos-victimas-viogen-gallego
 
Guia derechos-victimas-viogen-frances
Guia derechos-victimas-viogen-francesGuia derechos-victimas-viogen-frances
Guia derechos-victimas-viogen-frances
 
Guia derechos-victimas-viogen-espa
Guia derechos-victimas-viogen-espaGuia derechos-victimas-viogen-espa
Guia derechos-victimas-viogen-espa
 

Kürzlich hochgeladen

PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................ScarletMedina4
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.karlazoegarciagarcia
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2Eliseo Delgado
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...Martin M Flynn
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Gonella
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfmiriamguevara21
 

Kürzlich hochgeladen (20)

Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................BOCA Y NARIZ (2).pdf....................
BOCA Y NARIZ (2).pdf....................
 
Acuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptxAcuerdo segundo periodo - Grado Septimo.pptx
Acuerdo segundo periodo - Grado Septimo.pptx
 
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.ENSEÑAR ACUIDAR  EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
ENSEÑAR ACUIDAR EL MEDIO AMBIENTE ES ENSEÑAR A VALORAR LA VIDA.
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
PÉNSUM ENFERMERIA 2024 - ECUGENIUS S.A. V2
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
DIGNITAS INFINITA - DIGNIDAD HUMANA; Declaración del dicasterio para la doctr...
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
Unidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIUUnidad 2 | Teorías de la Comunicación | MCDIU
Unidad 2 | Teorías de la Comunicación | MCDIU
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1Apunte de clase Pisos y Revestimientos 1
Apunte de clase Pisos y Revestimientos 1
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
Acuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdfAcuerdo 05_04_24 Lineamientos del CTE.pdf
Acuerdo 05_04_24 Lineamientos del CTE.pdf
 

Busqueda por HASH

  • 1. Búsqueda por Hash Milena Matamoros Manuel Ricardo Cortés Juan Carlos García
  • 2. Procedimiento Método consistente en aplicar una función que traduce un conjunto de posibles valores llave en un rango de direcciones relativas
  • 3.
  • 4.
  • 6. soluciones para reducir el número de colisiones Propagar los registros: Buscar funciones que distribuyan muy aleatoriamente los registros podemos evitar "agrupaciones" de llaves que produzcan las mismas direcciones Usar memoria extra: En el ejemplo anterior planteamos tener una dirección de entre 1000 posibles, el uso de memoria extra se basa en proponer un espacio de direcciones posibles mucho más grande que el número de registros a usar, de modo que si vamos a insertar 100 registros  un espacio de 500 direcciones nos una mejor opción de esparcir mejor. Colocar más de un registro en una dirección: A diferencia de los casos anteriores donde cada dirección almacena únicamente un registro, este concepto se basa en "buckets" o cubetas de datos en cada dirección, ahí se colocan algunos (casi todos) los registros que colisionan de manera que al hacer una búsqueda debemos recuperar la cubeta entera y ahi buscar por el registro deseado.
  • 7. 9.3.1 Un Algoritmo de Hash No existe una fórmula "única" para hash, pero el producirla es un algoritmo que básicamente se presenta en 3 pasos:1) Representar la llave de manera numérica (siempre que no sea de por sí un número)Una buena opción es usar los valores ASCII o bien los Unicode de las letrasLOWELL=  L   O W  E   L  L   _   _  _    _   _   _                     76 79 87 69 76 76 32 32 32 32 32 322) Plegar y AgregarCombinar algunos de estos números para generar pequeños trozos con los que podamos trabajar76 79  |  87 69 |  76 76 |  32 32 |  32 32 |  32 32De manera que podemos hacer algunas operaciones matemáticas con dichos números para finalmente obtener un número del cual obtendremos la dirección7679 + 8769 + 7676 + 3232 + 3232 = 30 588Nota: Respecto a la implementación se puede dar el caso de formar números demasiado grandes, tanto que llegue al overflow del tipo de datos que estemos usando. Para solucionar esto podemos usar funciones como el "mod" intermedias para no tener ese problema.3) Dividir por un número primo y usar el resultado como direcciónLos archivos de hash por lo general suelen limitarse a un cierto rango de direcciones posibles para aprovechar mejor el concepto de memoria. de manera que podemos concluir nuestro algoritmo con la fórmula: a= s mod n donde a es la dirección resultante, s es la suma o resultado de los pasos anteriores y n el número de direcciones posibles en el archivoExisten innumerables operaciones adicionales que pueden aplicarse en las fórmulas, así como las técnicas para limitar el valor final. Entre ellas se encuentran: elevar a alguna potencia, raíz cuadrada, convertir los números de base (hexadecimal, octal), etc...
  • 8. Ventajas Se pueden usar los valores naturales de la llave, puesto que se traducen internamente a direcciones fáciles de localizar Se logra independencia lógica y física, debido a que los valores de las llaves son independientes del espacio de direcciones No se requiere almacenamiento adicional para los índices.
  • 9. Desventajas No pueden usarse registros de longitud variable El archivo no esta clasificado No permite llaves repetidas Solo permite acceso por una sola llave
  • 10. Costos Tiempo de procesamiento requerido para la aplicación de la función hash Tiempo de procesamiento y los accesos E/S requeridos para solucionar las colisiones.
  • 11. Factores de Eficiencia La distribución de los valores de llave que realmente se usan El numero de valores de llave que realmente están en uso con respecto al tamaño del espacio de direcciones El numero de registros que pueden almacenarse en una dirección dad sin causar una colisión La técnica usada para resolver el problema de las colisiones
  • 12. Tipos de Funcion Hash Residuo de la división Medio del cuadrado Pliegue
  • 13. Hashing por residuo de división     La idea de este método es la de dividir el valor de la llave entre un numero apropiado, y después utilizar el residuo de la división como dirección relativa para el registro (dirección = llave módulo divisor).
  • 14. Consideraciones      Independientemente de que tan bueno sea el divisor, cuando el espacio de direcciones de un archivo esta completamente lleno, la probabilidad de colisión crece dramáticamente. La saturación de archivo de mide mediante su factor de carga, el cual se define como la relación del numero de registros en el archivo contra el numero de registros que el archivo podría contener si estuviese completamente lleno.
  • 15. Factor de Carga     Todas las funciones hash comienzan a trabajar probablemente cuando el archivo esta casi lleno. Por lo general el máximo factor de carga que puede tolerarse en un archivo para un rendimiento razonable es de entre el 70 % y 80 %.  
  • 16. Hashing por Elevacion al cuadrado     En esta técnica, la llave es elevada al cuadrado, después algunos dígitos específicos se extraen de la mitad del resultado para constituir la dirección relativa. Si se desea una dirección de n dígitos, entonces los dígitos se truncan en ambos extremos de la llave elevada al cuadrado, tomando n dígitos intermedios. Las mismas posiciones de n dígitos deben extraerse para cada llave. Utilizando esta función hashing el tamaño del archivo resultante es de 10n donde n es el numero de dígitos extraídos de los valores de la llave elevada al cuadrado.
  • 17. Hashing por Pliegue     En esta técnica el valor de la llave es particionada en varias partes, cada una de las cuales (excepto la ultima) tiene el mismo numero de dígitos que tiene la dirección relativa objetivo. Estas particiones son después plegadas una sobre otra y sumadas. El resultado, es la dirección relativa. Igual que para el método del medio del cuadrado, el tamaño del espacio de direcciones relativas es una potencia de 10.