SlideShare una empresa de 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.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Tablas Hash
Tablas HashTablas Hash
Tablas Hash
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
Ordenamiento parte 2
Ordenamiento parte 2Ordenamiento parte 2
Ordenamiento parte 2
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Pilas estáticas. IESIT
Pilas estáticas. IESITPilas estáticas. IESIT
Pilas estáticas. IESIT
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Codificación de Huffman
Codificación de Huffman Codificación de Huffman
Codificación de Huffman
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Mergesort
MergesortMergesort
Mergesort
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 

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

Similar 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
 
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
 
RAÍCES DE ECUACIONES
RAÍCES DE ECUACIONESRAÍCES DE ECUACIONES
RAÍCES DE ECUACIONES
 

Último

Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)martinezhd1
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)edisonquispecalderon
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...juanforero141
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNETCasa
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxcorreafrancoci00
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptxalzabenjaminci00
 

Último (6)

Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)
 
Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 

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.