SlideShare ist ein Scribd-Unternehmen logo
1 von 17
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 quot;agrupacionesquot; 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 quot;bucketsquot; 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 quot;únicaquot; 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 letras
    LOWELL= L O W E L L _ _ _ _ _ _
            76 79 87 69 76 76 32 32 32 32 32 32
    2) Plegar y Agregar
    Combinar algunos de estos números para generar pequeños trozos con los que podamos trabajar
    76 79 | 87 69 | 76 76 | 32 32 | 32 32 | 32 32
    De manera que podemos hacer algunas operaciones matemáticas con dichos números para finalmente obtener un
    número del cual obtendremos la dirección
    7679 + 8769 + 7676 + 3232 + 3232 = 30 588
    Nota: 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 quot;modquot;
    intermedias para no tener ese problema.
    3) Dividir por un número primo y usar el resultado como dirección
    Los 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 archivo
    Existen 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?

Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoLutzo Guzmán
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersiónAngel Vázquez Patiño
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)Franklin Parrales Bravo
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externaEdwin Narváez
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoChobe69
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 

Was ist angesagt? (20)

Ordenamiento parte 2
Ordenamiento parte 2Ordenamiento parte 2
Ordenamiento parte 2
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Html form tag
Html form tagHtml form tag
Html form tag
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Algoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamientoAlgoritmos de busqueda - hash truncamiento
Algoritmos de busqueda - hash truncamiento
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Quicksort
QuicksortQuicksort
Quicksort
 
332 presentacion grafos
332 presentacion grafos332 presentacion grafos
332 presentacion grafos
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Programación 3: tablas de dispersión
Programación 3: tablas de dispersiónProgramación 3: tablas de dispersión
Programación 3: tablas de dispersión
 
ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)ED Unidad 4: Estructuras de datos no lineales (árboles)
ED Unidad 4: Estructuras de datos no lineales (árboles)
 
Colas
ColasColas
Colas
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Hashing
HashingHashing
Hashing
 
Hash mitad al cuadrado
Hash mitad al cuadradoHash mitad al cuadrado
Hash mitad al cuadrado
 
Métodos de ordenación externa
Métodos de ordenación externaMétodos de ordenación externa
Métodos de ordenación externa
 
Arreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial BasicoArreglos en pseint Tutorial Basico
Arreglos en pseint Tutorial Basico
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 

Ähnlich wie BúSqueda Por Hash

Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASHSykrayo
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
Factorización de números semiprimos
Factorización de números semiprimosFactorización de números semiprimos
Factorización de números semiprimosPepeGarcia111
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaOmar B.
 
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)Sergio Ormeño
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmoGaston Demundo
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGustavo Dejean
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de BúsquedaPedro Avaria
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busquedaJohnfornerod
 

Ähnlich wie BúSqueda Por Hash (20)

Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASH
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
cap10.pdf
cap10.pdfcap10.pdf
cap10.pdf
 
Tipos algoritmos
Tipos algoritmosTipos algoritmos
Tipos algoritmos
 
Factorización de números semiprimos
Factorización de números semiprimosFactorización de números semiprimos
Factorización de números semiprimos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
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)
 
Presentación1
Presentación1Presentación1
Presentación1
 
Análisis de algoritmo
Análisis de algoritmoAnálisis de algoritmo
Análisis de algoritmo
 
Grafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número CromáticoGrafos Regulares y Estimación de su Número Cromático
Grafos Regulares y Estimación de su Número Cromático
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 
APLICACIONES
APLICACIONESAPLICACIONES
APLICACIONES
 
hashing.ppt
hashing.ppthashing.ppt
hashing.ppt
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 
Algoritmos de busqueda
Algoritmos de busquedaAlgoritmos de busqueda
Algoritmos de busqueda
 

Mehr von Angie Suarez

T A B L A D E D I S P E R S I O N (Hash Table)
T A B L A  D E  D I S P E R S I O N (Hash Table)T A B L A  D E  D I S P E R S I O N (Hash Table)
T A B L A D E D I S P E R S I O N (Hash Table)Angie Suarez
 
PresentacióN Ordenacion Quichsort
PresentacióN Ordenacion QuichsortPresentacióN Ordenacion Quichsort
PresentacióN Ordenacion QuichsortAngie Suarez
 
Exposicion Estructuras
Exposicion EstructurasExposicion Estructuras
Exposicion EstructurasAngie Suarez
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion BusquedaAngie Suarez
 
Ordenamiento Por MéTodo De InsercióN Binaria
Ordenamiento  Por MéTodo De InsercióN BinariaOrdenamiento  Por MéTodo De InsercióN Binaria
Ordenamiento Por MéTodo De InsercióN BinariaAngie Suarez
 

Mehr von Angie Suarez (6)

T A B L A D E D I S P E R S I O N (Hash Table)
T A B L A  D E  D I S P E R S I O N (Hash Table)T A B L A  D E  D I S P E R S I O N (Hash Table)
T A B L A D E D I S P E R S I O N (Hash Table)
 
PresentacióN Ordenacion Quichsort
PresentacióN Ordenacion QuichsortPresentacióN Ordenacion Quichsort
PresentacióN Ordenacion Quichsort
 
Exposicion Estructuras
Exposicion EstructurasExposicion Estructuras
Exposicion Estructuras
 
Exposicion Busqueda
Exposicion BusquedaExposicion Busqueda
Exposicion Busqueda
 
Heapsort
HeapsortHeapsort
Heapsort
 
Ordenamiento Por MéTodo De InsercióN Binaria
Ordenamiento  Por MéTodo De InsercióN BinariaOrdenamiento  Por MéTodo De InsercióN Binaria
Ordenamiento Por MéTodo De InsercióN Binaria
 

Kürzlich hochgeladen

ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaAlejandrino Halire Ccahuana
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionessubfabian
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasFlor Idalia Espinoza Ortega
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxJunkotantik
 
TEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónTEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónVasallo1
 
2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docxCarlosEnriqueArgoteC
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...Chema R.
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxgesicavillanuevaqf
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxMARCOSMARTINALACAYOP1
 
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdf
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdfANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdf
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdflvela1316
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptxJunkotantik
 
Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )portafoliodigitalyos
 
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxTERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxlitaroxselyperezmont
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptxFESARAUGUSTOFANDIORI
 
a propósito de la globalización y sus efectos
a propósito de la globalización y sus efectosa propósito de la globalización y sus efectos
a propósito de la globalización y sus efectossubfabian
 
Profecia 2300 dias explicada, Daniel 8:14
Profecia 2300 dias explicada, Daniel 8:14Profecia 2300 dias explicada, Daniel 8:14
Profecia 2300 dias explicada, Daniel 8:14KevinBuenrostro4
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfANEP - DETP
 

Kürzlich hochgeladen (20)

ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
Lecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanzaLecciones 07 Esc. Sabática. Motivados por la esperanza
Lecciones 07 Esc. Sabática. Motivados por la esperanza
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definiciones
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptxComunidades Virtuales de Aprendizaje Caracteristicas.pptx
Comunidades Virtuales de Aprendizaje Caracteristicas.pptx
 
TEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilizaciónTEMA EGIPTO.pdf. Presentación civilización
TEMA EGIPTO.pdf. Presentación civilización
 
2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx
 
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
tema 6 2eso 2024. Ciencias Sociales. El final de la Edad Media en la Penínsul...
 
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docxSISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
SISTEMA RESPIRATORIO DEL CUERPO HUMANO triptico.docx
 
Power Point : Motivados por la esperanza
Power Point : Motivados por la esperanzaPower Point : Motivados por la esperanza
Power Point : Motivados por la esperanza
 
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptxDESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
DESCRIPCIÓN-LOS-DILEMAS-DEL-CONOCIMIENTO.pptx
 
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdf
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdfANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdf
ANTOLOGIA COMPLETA ANITA LA ABEJITA PARA LA LECTOESCRITURA EN PRIMER GRADO.pdf
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx2. Entornos Virtuales de Aprendizaje.pptx
2. Entornos Virtuales de Aprendizaje.pptx
 
Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )Vínculo afectivo (labor expositivo de grupo )
Vínculo afectivo (labor expositivo de grupo )
 
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docxTERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
TERCER GRADO PROGRAMACION ANUAL CCSS 3° - 2024.docx
 
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
11.NEOLIBERALISMO: que es, ventajas, desventajas, consecuenciaspptx
 
a propósito de la globalización y sus efectos
a propósito de la globalización y sus efectosa propósito de la globalización y sus efectos
a propósito de la globalización y sus efectos
 
Profecia 2300 dias explicada, Daniel 8:14
Profecia 2300 dias explicada, Daniel 8:14Profecia 2300 dias explicada, Daniel 8:14
Profecia 2300 dias explicada, Daniel 8:14
 
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdfRESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
RESPONSABILIDAD SOCIAL EN LAS ORGANIZACIONES (4).pdf
 

BúSqueda Por Hash

  • 1. 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 quot;agrupacionesquot; 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 quot;bucketsquot; 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 quot;únicaquot; 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 letras LOWELL= L O W E L L _ _ _ _ _ _ 76 79 87 69 76 76 32 32 32 32 32 32 2) Plegar y Agregar Combinar algunos de estos números para generar pequeños trozos con los que podamos trabajar 76 79 | 87 69 | 76 76 | 32 32 | 32 32 | 32 32 De manera que podemos hacer algunas operaciones matemáticas con dichos números para finalmente obtener un número del cual obtendremos la dirección 7679 + 8769 + 7676 + 3232 + 3232 = 30 588 Nota: 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 quot;modquot; intermedias para no tener ese problema. 3) Dividir por un número primo y usar el resultado como dirección Los 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 archivo Existen 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.