SlideShare ist ein Scribd-Unternehmen logo
1 von 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.

Weitere ähnliche Inhalte

Was ist angesagt?

Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamientodeff000001
 
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
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
15 Tablas Hash
15 Tablas Hash15 Tablas Hash
15 Tablas HashUVM
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos Kaneki04
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 

Was ist angesagt? (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
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Aplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafosAplicaciones de los árboles y grafos
Aplicaciones de los árboles y grafos
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
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
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Hash mitad al cuadrado
Hash mitad al cuadradoHash mitad al cuadrado
Hash mitad al cuadrado
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Codificación de Huffman
Codificación de Huffman Codificación de Huffman
Codificación de Huffman
 
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
 
15 Tablas Hash
15 Tablas Hash15 Tablas Hash
15 Tablas Hash
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Arboles - estructura de datos
Arboles - estructura de datos Arboles - estructura de datos
Arboles - estructura de datos
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
Aritmetica Modular
Aritmetica ModularAritmetica Modular
Aritmetica Modular
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 

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

Ähnlich wie 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
 
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
 
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.