|
En la actualidad los lenguajes de programación orientados a objetos, tales como Java y C++, facilitan la creación de nuevos programas más poderosos y
eficientes en la manipulación de objetos.El almacenamiento y recuperación de información mediante arreglos o listas es muy eficiente, siempre y cuando se traten con llaves de accesso que marquen una relación
con cada elemento de un conjunto de información, ya sea de una lista o tabla.
Si tenemos 100 empleados con números diferentes en una nómina de nueve dígitos cada uno, y queremos almacenar y recuperar datos de
los empleados usando su número de identificación. Esto requeriría tener un arreglo de 999,999,999 elementos, ¡Algo totalmente ineficiente!Si se pudiera tener ese mismo arreglo, pero que solamente tuviera los
números de acceso o llaves de cada empleado, se tendría un rendimiento muy alto. En pocas palabras, se tendría un índice que solamnte tendría las llaves o registros de acceso a cada empleado.
Para realizar una gestación poderosa del problema anterior, se necesita tener un sistema de alta velocidad de acceso y manipulación de datos, el cual debe de tener un índice con todas las llaves de acceso
transformadas en claves por cada uno de los empleados. Cuando se necesite obtener una información de estos, se convierte la clave ahora en la llave de acceso original que servirá para obtener directamente
información sobre datos almacenados en una lista o arreglo. Este esquema es la base de una técnica llamada dipersión o hashing en inglés. El nombre se debe a que cuando convertimos una clave en
un subíndice de arreglo literalmente resolvemos los componentes "dispersándolos" para convertirlos en un nuevo número. Este número no tiene ningún significado real más allá de su utilidad para almacenar
el registro de datos con este número en particular. |