TABLAS HASH
Una tabla hash es una estructura de datos que permite la recuperación, inserción, eliminación y búsqueda de datos de forma rápida
La potencia de las tablas hash se encuentra en la búsqueda de elementos; conociendo el campo clave se puede obtener directamente la posición que ocupa, y por tanto, la información que se encuentra almacenada en ese espacio de memoria.
Es claro, que el hashing tiene sus desventajas como cualquier algoritmo, y una de ellas es lo que se le conoce como colisiones (la operación matemática definida por la función de dispersión para calcular la posición que ocupa pueda pertenecer a un campo mas) y la otra, el uso innecesario de memoria en declaraciones de estructuras amplias intentando evitar dichas colisiones. Por muy buena que sea la distribución que se realice en la tabla siempre hay posibilidad de que colisiones dos claves, por ello el estudio del direccionamiento disperso se divide en dos partes: búsqueda de funciones hash y resolución de colisiones. Existen métodos para intentar evitar en su mayoría las colisiones, pero no son totalmente perfectos y fijos, pero los más populares son exploración de direcciones y hashing enlazado
La eficacia de una tabla hash va de acuerdo a como se tratan las colisiones y la lógica de un algoritmo que permita un rápido acceso e inserción de datos a la estructura sin ninguna fuga de datos.
Una de las aplicaciones de las tablas hash esta en los compiladores de lenguajes de programación. La tabla donde se guardan los identificadores del programa, tabla de símbolos, se implementa como una tabla hash. La clave es el símbolo que se transforma en un valor entero para aplicar alguna de las funciones hash.
Se pretende con este trabajo de investigación descubrir esta importante y rápida herramienta y de a ello describir y utilizar las funciones hash como algoritmo más eficaz que los arrays
My Great Web page
|