/tda_hash

TDA Hash - Algoritmos y programación 2 - (75.01) Cátedra Méndez

Primary LanguageC

TDA hash


Desarrollo de TDA hash abierto

📝 Contenido

Enunciado

Se pide implementar un TDA Hash. Para ello se brindan las firmas de las funciones públicas a implementar y se deja a criterio del alumno tanto la creación de las funciones privadas del TDA para el correcto funcionamiento del Hash cumpliendo con las buenas prácticas de programación. El Hash a implementar debe ser abierto y cumplir con los requisitos detallados en el .h .

Adicionalmente se pide la creación de un TDA iterador externo para el recorrido de las claves almacenadas en el Hash.

🏁 Compilacion y Ejecucion

Compilamos:

gcc lista.c hash.c hash_pruebas.c -o hash -g -std=c99 -Wall -Wconversion -Wtype-limits -pedantic -Werror -O0

Ejecutamos:

 ./hash

FAQS

¿Qué se esta entregando?

Se entrega el desarrollo del tda y sus respectivas pruebas, evaluando las primitivas.

Una explicación de los diferentes tipos de hashes que conoce y cómo se resuelven las colisiones.

  • HASH ABIERTO

  • HASH CERRADO

¿Qué entiende por rehash y por qué es importante?

  • Rehash, valga la rebundancia seria hashear nuestra tabla del hash nuevamente ya que se requiere mas espacio por ejemplo. Basicamente porque la capacidad deja de ser igual y como nuestra funcion de hashing depende de la misma es necesario hacer este rehash.

  • Sea el caso en que no se rehashe no encontrariamos a los elementos a traves de la clave que enviemos, ya que al hashear esa clave puede que devuelva que el elemento se encuentra en una posicion que no esta o que directamente no esta.