tablas hash

Páginas: 6 (1262 palabras) Publicado: 28 de octubre de 2013
Una tabla hash, mapa hash, tabla de dispersión o tabla fragmentada es una estructura de datos que asocia llaves o claves con valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada (usando el nombre o número de cuenta, por ejemplo). Funciona transformando laclave con una función hash en un hash, un número que identifica la posición (casilla o cubeta) donde la tabla hash localiza el valor deseado.

TABLAS HASH
Un conjunto es una colección de objetos, los cuales no necesariamente tienen relación entre sí, como de orden, descendencia, etc.; tampoco están obligados a compartir atributos. En el área computacional, los objetos deben tener característicascomunes; y sus elementos pueden ser atómicos o estructurados.
Un término atómico, aplicado al concepto de tipo de dato; define a los elementos simples, indivisibles y enumerables.
El término elemento estructurado se hace referencia a los formados por más de un valor, que puede dividirse en varias componentes. Al trabajar con este tipo de elementos, se presupone que todos los miembrospertenecen a la misma clase y cada uno de ellos tiene un componente que lo distinguirá del resto de los elementos; ese componente se le conoce como llave o atributo primario.
Para la representación conjuntos de elementos estructurados, para realizar las diferentes operaciones, es mediante un almacenamiento secuencial, basándose en la llave, y así realizar búsqueda, o bien se puede pensar en ordenarmediante la llave para que así se aplique en su caso búsqueda binaria; este tipo de almacenamiento no es muy recomendable debido al tiempo que puede tenerse con la búsqueda, lo más recomendable es formar una tabla; la cual se logre realizar la localizar de un dato con un acceso directo y en una sola comparación de la llave.
Hash sirve para mapear todos los posibles valores de las llaves dentro delespacio de almacenamiento (denominado tabla Hash), Si en la mayoría de las ocasiones no se puede establecer una correspondencia uno a uno entre los valores de la llave y las posiciones de la tabla, la técnica hash convertirá cada valor de la llave en una dirección válida, aplicando a la llave una función de conversión:
) _(_) (basedirección tablaposicion llavef 
Las funciones utilizadas se lellaman funciones hashing. Si se logra diseñar una función que para cada uno de los posibles valores de la llave generará posiciones únicas dentro de la tabla, se estaría cumpliendo con el objetivo de esta técnica. A estas funciones se les llama perfectas aunque es prácticamente imposible obtenerlas. Esto quiere decir que la función puede ocasionar que se puede llegar a generar la misma posición enla tabla para dos llaves distintas, provocando una colisión que puede resolverse de otra forma.
En la creación de una función hashing se debe tener un diseño adecuado; a través del tiempo se han creado metodologías para su diseño y dependerá del tipo de llave, pero se espera que cumpla con:
 Ejecución rápida (conversiones sencilas).
 Distribución uniforme de las posiciones.
 Direccionetodo el espacio de almacenamiento (ocupación de toda la tabla).


Ejemplo de tabla hash.
Las tablas hash se suelen implementar sobre vectores de una dimensión, aunque se pueden hacer implementaciones multi-dimensionales basadas en varias claves. Como en el caso de los arrays, las tablas hash proveen tiempo constante de búsqueda promedio O(1),1 sin importar el número de elementos en la tabla.Sin embargo, en casos particularmente malos el tiempo de búsqueda puede llegar a O(n), es decir, en función del número de elementos.
Comparada con otras estructuras de arrays asociadas, las tablas hash son más útiles cuando se almacenan grandes cantidades de información.
Las tablas hash almacenan la información en posiciones pseudo-aleatorias, así que el acceso ordenado a su contenido es...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tabla Hash
  • TABLAS DE HASH
  • tablas HASH
  • Tablas hash
  • tablas hash
  • HASH TABLE
  • Hash Table En C#
  • Grafos y Tablas de Hash

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS