SlideShare uma empresa Scribd logo
1 de 14
Universidad 
Nacional de 
Costa Rica 
Hash : 
-Método de división. 
-Método del medio 
cuadrado.
Hash: 
Una función hash H es una función 
computable mediante un algoritmo, 
H: U → M 
x → h(x), 
que tiene como entrada un conjunto de 
elementos, que suelen ser cadenas, y los 
convierte (mapea) en un rango de salida 
finito, normalmente cadenas de longitud 
fija.
Uso de funciones Hash: 
proteger la 
confidencialidad de una 
contraseña 
garantizar la integridad 
de los datos.
verificar la identidad del emisor de un mensaje 
mediante firmas digitales.
Colisión: 
Un problema potencial encontrado en el 
proceso hash, es que tal función no puede 
ser uno a uno; las direcciones calculadas 
pueden no ser todas únicas, cuando 
H(K1) = H(K2). 
Si K1 es diferente de K2 decimos que hay 
una colisión. A dos claves diferentes que les 
corresponda la misma dirección relativa se 
les llama sinónimos.
Método de División 
La función de este método es 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. 
F(hash) = llave % divisor.
Existen varios factores que deben 
considerarse para seleccionar el divisor: 
 divisor > n : 
suponiendo que 
solamente un 
registro puede ser 
almacenado en 
una dirección 
relativa dada. 
 Seleccionarse el 
divisor de tal forma 
que la 
probabilidad de 
colisión sea 
minimizada.
Uso: 
Cuando la distribución de los valores de llaves 
no es conocida.
Ejemplo: 
Si la tabla hash tiene 
tamaño m = 12 y la llave 
es 
k = 100, entonces 
h(k) = 100 mod 12 = 4.
Método de medio 
cuadrado 
Consiste en elevar al cuadrado la clave y tomar los 
dígitos centrales como dirección. El número de 
dígitos a tomar queda determinado por el rango 
del índice. Sea K la clave del dato a buscar, la 
función hash queda definida por la siguiente 
formula: 
H(K) = digitos_centrales (K^2) + 1 
Las suma de los dos dígitos centrales de la clave K 
(elevada al cuadrado) más 1, debe obtener un 
valor entre 1 y N (N, tamaño del arreglo).
Uso: 
puede aplicarse en archivos con factores de 
cargas bastantes bajas
Ejemplo: Sea N=100 el tamaño del 
arreglo. 
Sea su dirección los números 
entre 1 y 100. 
Sea K1 = 7259 una clave a la 
que se le debe asignar una 
posición en el arreglo. 
K1^2 = 52 693 081 
H(K1) = ( 52 693 081 ) + 1 = 94
EJERCICIO 
C++
Gracias! 
Estudiantes: 
Mª Analive Castro Vargas. 
Andrés Dalolio Aguilar. 
Fernando Navarro Juárez.

Mais conteúdo relacionado

Mais procurados

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfijaOmarzingm
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoLutzo Guzmán
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisionesemiru48
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria EstaticaJ M
 
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
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamicagusolis93
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de GrafosSandra Biondi
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externoFernando Solis
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3eliezerbs
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda BinariaITCV
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosJosé Antonio Sandoval Acosta
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 

Mais procurados (20)

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
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
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
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Mapa Conceptual de Grafos
Mapa Conceptual de GrafosMapa Conceptual de Grafos
Mapa Conceptual de Grafos
 
4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo4. algoritmo de ordenamiento externo
4. algoritmo de ordenamiento externo
 
Estructuras lineales unidad 3
Estructuras lineales unidad 3Estructuras lineales unidad 3
Estructuras lineales unidad 3
 
Tad Colas
Tad ColasTad Colas
Tad Colas
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 

Semelhante a Función Hash: metodos de división y de medio Cuadrado.

Semelhante a Función Hash: metodos de división y de medio Cuadrado. (20)

Hashing
HashingHashing
Hashing
 
Hashing
HashingHashing
Hashing
 
Hashing
HashingHashing
Hashing
 
Hashing
HashingHashing
Hashing
 
Hashing
HashingHashing
Hashing
 
Unidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busquedaUnidad 8 metodos_de_busqueda
Unidad 8 metodos_de_busqueda
 
Hash mitad al cuadrado
Hash mitad al cuadradoHash mitad al cuadrado
Hash mitad al cuadrado
 
Hashing
HashingHashing
Hashing
 
Dipersion hash
Dipersion hashDipersion hash
Dipersion hash
 
Dipersion
DipersionDipersion
Dipersion
 
Dipersion HASH
Dipersion HASHDipersion HASH
Dipersion HASH
 
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
 
Grupos y codigos matematica discreta
Grupos y codigos  matematica discretaGrupos y codigos  matematica discreta
Grupos y codigos matematica discreta
 
Busqueda por HASH
Busqueda por HASHBusqueda por HASH
Busqueda por HASH
 
BúSqueda Por Hash
BúSqueda Por HashBúSqueda Por Hash
BúSqueda Por Hash
 
Rbn
RbnRbn
Rbn
 
Tablas hash EDI
Tablas hash EDITablas hash EDI
Tablas hash EDI
 
Metodos de Búsqueda
Metodos de BúsquedaMetodos de Búsqueda
Metodos de Búsqueda
 

Último

TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfUPSE
 
contabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorcontabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorDalia Rodriguez
 
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdf
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdfS07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdf
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdflarryluna927
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocioMagemyl Egana
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)Samuel Solís Fuentes
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxUPSE
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocioMagemyl Egana
 

Último (7)

TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
contabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superiorcontabilidad para la inflacion, contabilidad superior
contabilidad para la inflacion, contabilidad superior
 
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdf
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdfS07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdf
S07_s1-Control Acceso-Amenazas de seguridad de capa 2.pdf
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 

Función Hash: metodos de división y de medio Cuadrado.

  • 1. Universidad Nacional de Costa Rica Hash : -Método de división. -Método del medio cuadrado.
  • 2. Hash: Una función hash H es una función computable mediante un algoritmo, H: U → M x → h(x), que tiene como entrada un conjunto de elementos, que suelen ser cadenas, y los convierte (mapea) en un rango de salida finito, normalmente cadenas de longitud fija.
  • 3. Uso de funciones Hash: proteger la confidencialidad de una contraseña garantizar la integridad de los datos.
  • 4. verificar la identidad del emisor de un mensaje mediante firmas digitales.
  • 5. Colisión: Un problema potencial encontrado en el proceso hash, es que tal función no puede ser uno a uno; las direcciones calculadas pueden no ser todas únicas, cuando H(K1) = H(K2). Si K1 es diferente de K2 decimos que hay una colisión. A dos claves diferentes que les corresponda la misma dirección relativa se les llama sinónimos.
  • 6. Método de División La función de este método es 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. F(hash) = llave % divisor.
  • 7. Existen varios factores que deben considerarse para seleccionar el divisor:  divisor > n : suponiendo que solamente un registro puede ser almacenado en una dirección relativa dada.  Seleccionarse el divisor de tal forma que la probabilidad de colisión sea minimizada.
  • 8. Uso: Cuando la distribución de los valores de llaves no es conocida.
  • 9. Ejemplo: Si la tabla hash tiene tamaño m = 12 y la llave es k = 100, entonces h(k) = 100 mod 12 = 4.
  • 10. Método de medio cuadrado Consiste en elevar al cuadrado la clave y tomar los dígitos centrales como dirección. El número de dígitos a tomar queda determinado por el rango del índice. Sea K la clave del dato a buscar, la función hash queda definida por la siguiente formula: H(K) = digitos_centrales (K^2) + 1 Las suma de los dos dígitos centrales de la clave K (elevada al cuadrado) más 1, debe obtener un valor entre 1 y N (N, tamaño del arreglo).
  • 11. Uso: puede aplicarse en archivos con factores de cargas bastantes bajas
  • 12. Ejemplo: Sea N=100 el tamaño del arreglo. Sea su dirección los números entre 1 y 100. Sea K1 = 7259 una clave a la que se le debe asignar una posición en el arreglo. K1^2 = 52 693 081 H(K1) = ( 52 693 081 ) + 1 = 94
  • 14. Gracias! Estudiantes: Mª Analive Castro Vargas. Andrés Dalolio Aguilar. Fernando Navarro Juárez.