TABLAS
HASH ESTRUCTURA DE DATOS
Integrantes:
Ricardo Campos Moroyoqui 036657
Oscar Leonardo Angulo Viveros 036303
Sebastian Guadaluoe Soto Barrera 036550
¿QUÉ ES UNA TABLA HASH?
Una tabla Hash es un contenedor asociativo (tipo Diccionario)
que permite un almacenamiento y posterior recuperación
eficientes de elementos (denominados valores) a partir de
otros objetos, llamados claves.
Una tabla hash se puede ver como un conjunto de entradas.
Cada una de estas entradas tiene asociada una clave única,
y por lo tanto, diferentes entradas de una misma tabla
tendrán diferentes claves. Esto implica, que una clave
identifica unívocamente a una entrada en una tabla hash.
Por otro lado, las entradas de las tablas hash están
compuestas por dos componentes, la propia clave y la
información que se almacena en dicha entrada.
DIRECCIONAMIENTO DIRECTO
¿QUE ES?
El direccionamiento directo es una técnica de acceso a datos que se
utiliza en estructuras de datos donde los elementos se almacenan en
ubicaciones específicas de memoria. Cada elemento tiene una
dirección única o índice que se utiliza para acceder directamente a
ese elemento en memoria.
USOS:
Arreglos
Acceso a registros en Bases de Datos
Acceso a elementos en Estrucuras de Datos Estaticas
DIFERENCIAS
En lugar de almacenar los elementos en ubicaciones específicas de
memoria, se calcula una función hash a partir de la clave del elemento y
se utiliza ese valor para determinar la ubicación en la tabla donde se
almacenará o buscará el elemento.
Principales puntos:
Ubicación de Almacenamiento
Colisiones
Eficiencia en Espacio
COLISIÓN
Un colisión ocurre cuando dos o mas
claves hash llevan a la misma ubicacion.
COLISIÓN
CHAINING
En lugar de almacenar un solo valor en cada ubicación
de la tabla, se almacena una lista ligada en esa
ubicacion
Cuando ocurre una colisión, el nuevo valor se agrega a la lista
ligada en la ubicación.
Cuando se busca un valor, la función de hash se usa para
encontrar la ubicación y luego se recorre la lista vinculada en
busca del valor deseado.
REREFENCIAS
DSTool: [Link]
[Link]
[Link]