UC3M

Grado en Ing. Telemática/Sist. Audiovisuales/Sist. de Comunicaciones

Arquitectura de Sistemas

Septiembre 2017 - Enero 2018

7.9. Actividades

7.9.1. Implementación de una tabla hash

Recursos

  • Tablas Hash

  • Implementación de las funciones necesarias para manipular una lista encadenada de elementos (crear, insertar, borrar, buscar, etc.)

Plan de trabajo

  1. Leer el documento Tablas Hash .

  2. Propón una estructura de datos que contenga una tabla hash. Piensa en que esa estructura es la que se manejará en toda la aplicación, esto es, se creará con una función que escribes tú, y se recibirá como parámetro en las funciones de buscar, añadir, borrar, etc.

  3. Escribe la función para crear una tabla hash. Decide qué parámetros necesita recibir.

  4. Escribe la función que dada una tabla hash y una clave, busca si tal clave existe. Devuelve el valor asociado a esa clave o NULL en caso contrario.

  5. Escribe la función que dada una tabla hash, una clave y un valor, añade el par (clave, valor) a la tabla. Se asume que la clave no está presente en la tabla antes de realizarse la operación.

  6. Escribe una función que recibe una tabla hash y la destruye. Esto incluye destruir todas las lista de colisiones internas.

  7. Modifica la estructura de la tabla para que tenga un parámetro denominado densidad. Cuando la densidad de la tabla supere ese valor, se debe redimensionar incrementando su tamaño un 25%. Esto debe suceder de forma transparente cuando se ejecuta una operación de inserción de un nuevo par (clave, valor).