tablas de dispersión

9

Upload: salomon

Post on 25-Jun-2015

5.245 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tablas de dispersión
Page 2: Tablas de dispersión

Introducción al Tema

Análisis Asintótico

Explicación de aplicaciones Reales

Implementación Interactiva

Animación

Elementos Incorporados

Page 3: Tablas de dispersión

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.

Page 4: Tablas de dispersión

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.

Page 5: Tablas de dispersión

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.

Page 6: Tablas de dispersión

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.

Page 7: Tablas de dispersión

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:

Page 8: Tablas de dispersión

Programa Compilado

Page 9: Tablas de dispersión

Animación