Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tablas de dispersión

5,957 views

Published on

  • Be the first to comment

  • Be the first to like this

Tablas de dispersión

  1. 2. <ul><li>Introducción al Tema </li></ul><ul><li>Análisis Asintótico </li></ul><ul><li>Explicación de aplicaciones Reales </li></ul><ul><li>Implementación Interactiva </li></ul><ul><li>Animación </li></ul>Elementos Incorporados
  2. 3. Introducción al Tema <ul><li>Una tabla (hash) o de dispersiones es una estructura de datos que asocia llaves o claves con valores. </li></ul><ul><li>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. </li></ul>
  3. 4. Una estructura hash se construye con tres elementos básicos : <ul><li>Un vector direccionable mediante número de posición capaz de almacenar N elementos. </li></ul><ul><li>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. </li></ul><ul><li>Una función de resolución de colisiones. </li></ul>
  4. 5. Análisis Asintótico <ul><li>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. </li></ul><ul><li>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. </li></ul>
  5. 6. Aplicación Real <ul><li>“ Un diccionario” </li></ul><ul><li>-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. </li></ul>
  6. 7. Implementación Interactiva <ul><li>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). </li></ul><ul><li>Función hash: </li></ul>
  7. 8. Programa Compilado
  8. 9. Animación

×