Estructuras de datos internas y tabla de complejidad temporal de todos los contenedores STL de C++

Como todos estamos usando STL bastante en nuestros programas en entrevistas, concursos de codificación. Por lo tanto, conocer la complejidad del tiempo de la operación utilizada con más frecuencia y la estructura de datos utilizada detrás de escena (en la implementación interna de la biblioteca STL) es una información imprescindible.

Contenedores C++ STL con complejidad de tiempo y estructura de datos utilizados detrás de escena:

S. No.

Nombre del contenedor STL

Estructura de datos internos

Complejidad del tiempo

1.

Conjunto desordenado Tabla hash
(una tabla hash utiliza una función hash para calcular un índice)
Para Insertar, Buscar, Eliminar: 
Mejor: O(1)
Promedio: O(1)
Peor: O(N)

2.

Establecer Red Black Tree
(árbol de búsqueda binario autoequilibrado: mantiene la altura del registro del árbol N)
Para Insertar, Buscar, Eliminar:
Mejor: O(log N)
Promedio: O(log N)
Peor: O(log N)

3.

Mapa desordenado Tabla hash
(una tabla hash utiliza una función hash para calcular un índice)
Para Insertar, Buscar, Eliminar: 
Mejor: O(1)
Promedio: O(1)
Peor: O(N)

4.

Mapa Red Black Tree
(árbol de búsqueda binario autoequilibrado: mantiene la altura del registro del árbol N)
Para Insertar, Buscar, Eliminar:
Mejor: O(log N)
Promedio: O(log N)
Peor: O(log N)

5.

Priority_queue Montón máximo Insertar/Pulsar: O(registro N)
Eliminar/Abrir: O(registro N)
Peek/Superior: O(1)

6.

Pila Lista enlazada Pulsar: O(1)
Pop: O(1)
Superior: O(1)

7.

Cola Lista enlazada Pulsar: O(1)
Pop: O(1)
Frente: O(1)
Atrás: O(1)

Esta es una especie de tabla de búsqueda para conocer la Complejidad de tiempo de cada operación , la breve razón se puede interpretar rápidamente a partir de la Estructura de datos utilizada para implementar internamente el contenedor en C++ STL.

También a partir de las Complejidades de Tiempo de cada operación, podemos calcular fácilmente la Complejidad de Tiempo de todo el programa.

Publicación traducida automáticamente

Artículo escrito por rbkraj000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *