Hash Collisions
Watch hash-table buckets fill, con separate chaining o open addressing
Acerca de esta herramienta
Elige 4–256 casillas, una variante hash y una estrategia, y crea la tabla. Cambiar parámetros descarta la tabla anterior y bloquea la inserción hasta crearla de nuevo. Restablecer crea una tabla vacía con los parámetros actuales. Ejemplo inserta doce nombres de frutas; 32 claves usa un conjunto fijo reproducible para comparar configuraciones.
Las claves distinguen mayúsculas. Se eliminan espacios en los extremos, pero se conservan los internos. No se aceptan claves vacías. Límites: 256 unidades de código UTF-16 por clave y 1024 claves distintas. Los duplicados no cambian entradas ni contadores.
El encadenamiento guarda claves que colisionan en la misma casilla. El sondeo lineal visita (inicio + desplazamiento) mod capacidad hasta una casilla libre o el duplicado, volviendo al inicio al llegar al final. Una tabla llena rechaza nuevas claves pero reconoce duplicados. Inicio, destino y casillas visitadas describen la última operación. El encadenamiento cuenta una visita, sin contar comparaciones dentro de la lista. La media incluye solo inserciones exitosas.
Las variantes procesan unidades UTF-16 de JavaScript. FNV-1a usa XOR y multiplicación módulo 2³²; djb2 usa h = 33h + unidad. La suma ignora el orden y distribuye mal a propósito. La variante tipo Murmur3 conserva desplazamientos 0/8/16/24, con bits solapados para unidades no ASCII, y semilla cero. No son implementaciones UTF-8 por bytes de los estándares FNV o MurmurHash3, ni hashes criptográficos.
El factor de carga es claves guardadas / casillas y puede superar uno con encadenamiento. Las estadísticas muestran casillas vacías, cadena máxima y visitas medias. El histograma opcional agrupa casillas por longitud y usa una escala común. Con cuatro casillas y suma, ab y ba empiezan en la casilla 3. En sondeo lineal, a/e/i/m empiezan en 1 y ocupan 1/2/3/0 tras 1/2/3/4 visitas; q se rechaza al llenarse la tabla.
RFC 9923 · FNV; Austin Appleby · MurmurHash3.
Los borradores sin procesar, parámetros, orden de inserciones correctas, última operación y detalles abiertos se guardan localmente hasta 100000 caracteres serializados. Recargar reconstruye la tabla exacta, incluidas las posiciones tras volver al inicio y los contadores de inserciones correctas. Las versiones anteriores no guardaban entradas para la recarga. Las sesiones mayores conservan la copia anterior y muestran un aviso de exportación; la navegación interna conserva la sesión actual. Un archivo inválido conserva la tabla actual. Si aparece el aviso, exporta antes de recargar o salir de la página.
La tabla se desplaza dentro de su región. Las listas largas de un bucket se desplazan por separado para evitar filas desmesuradas; todas las claves siguen accesibles. La media de inserción cuenta visitas a buckets, no comparaciones dentro de una cadena.
Solo se conservan los valores introducidos en este navegador. No se guardan los resultados calculados ni los historiales.