Tengo una lista de direcciones de memoria de 0xc0003000 a 0xc04a0144 hay muchas lagunas y < 4096 entradas en la lista. Es conocido en tiempo de compilación y quiero hacer un hash perfecto para ello.cerca de perfecto o perfecto hash de direcciones de memoria en c
Sin embargo, buscar el hashing perfecto en línea me da información principalmente relacionada con las cadenas hash y no parecen traducirse bien.
Para ser claro, quiero ser capaz de obtener la dirección de la memoria en tiempo de ejecución y verificar que esté en el hash rápidamente. Actualmente estoy usando una búsqueda binaria que es en promedio de 8 bucles para encontrar la respuesta.
¿Alguna idea de qué árbol debería ladrar?
¿Qué hay de árboles equilibrados, como el árbol B o rojo-negro? – Rsh
¿Has probado un 'bitset'? – jxh
Creo que el árbol de raíces es el mejor árbol de búsqueda para la búsqueda de valores enteros dispersos. –