tablas de dispersión
TRANSCRIPT
Introducción al Tema
Análisis Asintótico
Explicación de aplicaciones Reales
Implementación Interactiva
Animación
Elementos Incorporados
Introducción al Tema Una tabla (hash) o de dispersiones es
una estructura de datos que asocia llaves o claves con valores.
Las tablas de dispersión o hashing tables (en inglés) es una técnica que se utiliza para implementar inserciones, eliminaciones y búsquedas en un tiempo medio constante.
Una estructura hash se construye con tres elementos
básicos : Un vector direccionable mediante
número de posición capaz de almacenar N elementos.
Una función de dispersión que nos permita a partir de la clave obtener el índice donde estará el dato asociado a esa clave.
Una función de resolución de colisiones.
Análisis Asintótico Las tablas hash se suelen implementar sobre arrays
de una dimensión, aunque se pueden hacer implementaciones multi-dimensionales basadas en varias claves. 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.
Otras estructuras como arboles binarios son más rápidos en promedio (tiempo de búsqueda O(log n)) pero la información está ordenada en todo momento.
Aplicación Real
“Un diccionario”-Un diccionario es también una
secuencia de elementos, pero estos son realmente pares formados, por ejemplo, por un identificador y un numero entero. Las tablas de dispersión se suelen utilizar para implementar cualquier tipo de diccionario.
Implementación Interactiva
Implementamos una tabla de dispersión en dev-c que trabaja con un arreglo de 20 lista de palabras, utilizamos la función hash( buscar, eliminar, introducir palabras).
Función hash:
Programa Compilado
Animación