Laboratorio de hashing y memoria en C
Tabla Hash
Tabla hash de capacidad fija con claves/valores enteros y encadenamiento separado.
1 Preparar
Selecciona una operación, usa enteros y conserva la política de capacidad fija.
Sin traza cargada.
Paso: 0/0
2 Predecir
Antes de ejecutar, predice un aspecto de la operación preparada.
3 Ejecutar
Estado visual
Codigo C
Codigo C no disponible para esta operacion en docs/tads_C/tad_tabla_hash.c.
4 Comprender
Prepara una operación para observar índice, cadena, punteros y memoria.
Función hash
Sin frame.
Cadena activa
Sin cadena.
Variables y punteros
Sin punteros.
Costo observado
Sin medición.
Memoria
Sin transición.
Invariante
Sin verificación.
6 Comparar capacidades
La misma entrada inmutable se inserta en tres copias aisladas: capacidad 3, 7 y 17.
Prepara una comparación para observar distribución, colisiones, cadenas y costo de búsqueda.
7 Reflexionar
Consola C (printf)
Historial C17
Estructura del TAD
typedef struct th_nodo {
int clave;
int valor;
struct th_nodo *siguiente;
} THNodo;
typedef struct {
THNodo **buckets;
int capacidad;
int cantidad;
} TablaHash;
typedef struct {
int capacidad;
int cantidad;
int buckets_ocupados;
int colisiones;
float factor_carga;
} THEstadisticas;