Algoritmos y Estructura de Datos

Análisis de complejidad computacional


La complejidad computacional de las operaciones en una tabla hash depende del tamaño de la tabla y de la eficiencia de la función de dispersión utilizada. En general, se espera que las operaciones de inserción, eliminación y búsqueda en una tabla hash tengan una complejidad de tiempo O(1) en promedio.


Esto significa que, en promedio, estas operaciones tardarán el mismo tiempo independientemente del número de elementos almacenados en la tabla. Esto se debe a que las tablas hash utilizan una función de dispersión para mapear los elementos a una posición en la tabla, lo que permite acceder a los elementos de forma rápida sin tener que buscar en toda la tabla.


Sin embargo, es importante tener en cuenta que la complejidad de tiempo O(1) en promedio no se garantiza en todos los casos. Si la tabla hash está muy llena o si la función de dispersión es ineficiente, puede haber una tasa de colisiones alta, lo que puede hacer que las operaciones de inserción, eliminación y búsqueda sean más lentas. En este caso, la complejidad de tiempo puede ser peor que O(1) en promedio.



Link de apoyo


  • What is Hashing?
  • Estructura de datos y Algoritmos - Tablas HASH
  • Libreria c++ : unordered_map
  • Universidad Politécnica de Madrid - Implementación Alternativa de una Tabla Hash en C++