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

More Related Content

What's hot

Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
Cristopher Morales Ruiz
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
leidy2220
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes Formales
Sandy Rafael Garcia
 

What's hot (20)

Hashing
HashingHashing
Hashing
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
Algoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externoAlgoritmos de Ordenamiento externo
Algoritmos de Ordenamiento externo
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Cuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busquedaCuadro comparativo algoritmos de busqueda
Cuadro comparativo algoritmos de busqueda
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Ciclo de instrucciones CPU
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Recursividad
RecursividadRecursividad
Recursividad
 
Autómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes FormalesAutómatas Finitos Deterministas y Lenguajes Formales
Autómatas Finitos Deterministas y Lenguajes Formales
 
Operaciones Básicas con el Sistema Octal
Operaciones Básicas con el Sistema OctalOperaciones Básicas con el Sistema Octal
Operaciones Básicas con el Sistema Octal
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
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
 

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

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

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.