Depende en gran medida de detalles específicos de implementación. En un contexto profesional, si esto es algo crítico para el rendimiento, entonces implementaría ambos y comenzaría a ejecutar puntos de referencia.
Como probablemente estés haciendo la tarea, dudo que te importe tanto. Ambos son bastante fáciles de implementar. La tabla hash usará menos memoria, aunque hacer que escale bien requiere un poco de esfuerzo. Las tablas hash pueden tener problemas cuando usas más cubos de los que originalmente esperabas.
Los intentos pueden consumir una tonelada de memoria, pero tienen el potencial de ser increíblemente rápidos (si puede evitar búsquedas lineales para encontrar nodos secundarios). Si su conjunto de claves es estático y no necesita manejar datos desde fuera del conjunto, hay algunas variantes en los intentos que son mucho más rápidos que incluso el hash. Las variantes más rápidas son probablemente más difíciles de implementar que el hash.
- ¿Cómo dirigen los sistemas de guía del vehículo de lanzamiento la carga útil hacia órbitas tan precisas?
- ¿Qué algoritmos usa Dropbox para la compresión de datos?
- ¿Puede una máquina Turing aceptar una cadena de longitud 2014? ¿Por qué este problema es indecidible?
- ¿Cuál es el mejor título de proyecto para la estructura de datos del sujeto y el algoritmo?
- ¿Hay alguna canción popular creada usando algoritmos / IA?
Por otro lado, a medida que el número de claves crece enormemente, los problemas de rendimiento de caché comienzan a dominar el tiempo de búsqueda. He leído un artículo que afirma que los árboles binarios equilibrados superan las tablas hash en este escenario. Eso es un poco sorprendente, por lo que siempre debes hacer una referencia si es importante;). Sin embargo, no mencionaste los BBT.