¿Por qué sigo viendo diferentes complejidades de tiempo de ejecución para estas funciones en una tabla hash?Complejidad del tiempo de ejecución de la tabla hash (insertar, buscar y eliminar)
En el wiki, la búsqueda y la eliminación son O (n) (pensé que el objetivo de las tablas hash era tener una búsqueda constante, entonces, ¿cuál es el punto si la búsqueda es O (n)).
En algunas notas del curso de hace un tiempo, veo una amplia gama de complejidades que dependen de ciertos detalles, incluido uno con todos los O (1). ¿Por qué se usaría cualquier otra implementación si puedo obtener todo O (1)?
Si uso tablas hash estándar en un lenguaje como C++ o Java, ¿qué puedo esperar que sea la complejidad del tiempo?
un perfecto tiene es O (1) las operaciones de búsqueda, pero para eso se tiene que saber lo que los datos serán cuando el diseño de la tabla. –
O (n) es el peor de los casos, O (1) es el caso promedio. En el peor de los casos, podría estar insertando N elementos, todos los cuales hash en el mismo cubo. Luego, para este conjunto de datos, la eliminación y la búsqueda también serán O (n). –
relacionado: ["Complejidad del tiempo de la tabla hash"] (http://stackoverflow.com/questions/3949217/time-complexity-of-hash-table) –