<[! endif] -> <- [if gte mso 9]>
Qué es hashing
style="font-family: "Trebuchet MS","sans-serif"; font-size: 11.0pt;"> Hashing es un método para almacenar y recuperar registros de una base de datos de manera eficiente.
class="MsoNormal"> Hashing permite insertar, eliminar y buscar registros basados en un valor clave de búsqueda.
class="MsoNormal">
Si el hash adecuada aplicación y todas las operaciones anteriores se pudo realizar en tiempo constante, es decir O (1). Esto es mejor que la búsqueda binaria en un arreglo ordenado de n registros, O (log n) el costo promedio que se requiere para hacer una operación en un árbol de búsqueda binaria.
class="MsoNormal"> Para obtener complejidad en tiempo de O (1), los diseñadores necesitan para dar la atención mientras que la implementación de un sistema de hash.
¿Qué es la tabla hash
class="MsoNormal"> Un sistema almacena hash de registros o elementos de una matriz llamada tabla de hash.
class="MsoNormal"> (O) una estructura de datos eficaz para la aplicación de los diccionarios (la lista de la tienda de discos)
¿Qué es la función hash
|
que puede tomar un valor clave y calcular un valor entero (o un índice en una tabla) de la misma.
class="MsoNormal"> Hashing obras mediante la realización de un cálculo en una clave de búsqueda K de manera que se pretende identificar la posición (o índice ) en la tabla hash que contiene el registro con la clave K.
class="MsoNormal"> La función que realiza este cálculo se llama la función de hash, y se denota con la letra h (k) . Función hash toma de entrada como una tecla y devuelve el índice o la ranura. Una posición en la tabla hash es también conocida como una ranura o Índice.
class="MsoNormal">
Hashing es no es bueno para aplicaciones en las que se permiten múltiples registros con el mismo valor de la clave. Sin colisión y desbordamiento, búsqueda sólo toma O (1) vez. Tamaño de los datos no está preocupado. Seguridad: Si usted no sabe la función hash, usted no puede obtener los datos
class="MsoNormal"> Un mercancía cumple la función de hash (precio aproximado) La asunción de sencillo uniforme de hash
Cada tecla tiene la misma probabilidad de hash en cualquiera de los" m slots ". Independientemente de que cualquier otra clave ha hash a
Direccionamiento directo:
direccionamiento, un elemento directo con clave (es decir, aquí i, j, k) almacenados en la ranura i, j, k.
Con Hashing:
Estos elementos almacenados en la ranura h (k 1 ), h (k 2 ), h (k 3 )
la lista de técnicas se pueden utilizar para la función Hash continuación son:
Método División:
- Asignar una clave k en una de " m " slots tomando el resto de k dividido por m
estilo
h (k) = k mod m
Ex. m = 12, k = 100, h (k) = 4
O Índice de hash = key% hash_Table_Size
- Número primo " m" puede ser buena opción
Mid Método plaza:
Asignar una clave k en una de las ranuras m por conseguir el medio algunos dígitos de valor k 2
style="text-align: h (k) = k 2 get media (log m) dígitos
Ex. m = 10000, k = 113586