eficiencia-de-colecciones-en-programacion

Comparación de eficiencia de colecciones

La eficiencia de una colección se refiere a su capacidad para realizar operaciones de manera rápida y eficiente, minimizando el tiempo y los recursos utilizados.

Al evaluar la eficiencia de una colección, es importante considerar el tiempo de ejecución de las operaciones clave (como la lectura, inserción, eliminación y búsqueda de elementos)

Estas operaciones varían según el tipo de colección y su implementación interna.

Tabla de comparación de eficiencia

Vamos a ver una tabla de resumen de las eficiencias de las colecciones que hemos visto en el curso, ante distintas operaciones:

OperaciónArrayListLinkedListPilaColaSetDict
Acceso secuencial🟢🟢🟢
Acceso aleatorio🟢🟢🔴🟢🟢
Añadir al principio🔴🟢🟢
Eliminar al principio🔴🟢
Añadir al final🟢🟡🟢🟢
Eliminar al final🟢🟢🟢🟢🟢
Inserción aleatoria🔴🟢🟡🟡
Eliminar aleatoria🔴🟢🟢🟢
Búsqueda🔴🔴🔴🟢🟢

Donde el significado de cada símbolo es,

  • 🟢O(1): Tiempo de ejecución constante.
  • 🟡O(1)-O(n): Tiempo de ejecución constante en el mejor caso, pero lineal en el peor caso.
  • 🔴O(n): Tiempo de ejecución lineal, proporcional al tamaño de la colección.
  • ⚫N/A: La operación no es aplicable o no tiene sentido para esa colección en particular.

Descripción de las operaciones

Aquí tenéis una descripción de cada una de las operaciones mencionadas en la tabla:

  1. Acceso secuencial: Se refiere a la capacidad de acceder a los elementos de la colección en secuencia, uno tras otro, sin importar su posición.

  2. Acceso aleatorio: Significa la habilidad de acceder directamente a un elemento en una posición específica de la colección, sin necesidad de recorrer secuencialmente desde el principio.

  3. Añadir al principio: La operación de agregar un nuevo elemento al principio de la colección.

  4. Eliminar al principio: Es la operación de eliminar el primer elemento de la colección.

  5. Añadir al final: Agregar un nuevo elemento al final de la colección.

  6. Eliminar al final: Se refiere a la operación de eliminar el último elemento de la colección.

  7. Inserción aleatoria: Significa agregar un nuevo elemento en una posición arbitraria de la colección.

  8. Eliminar aleatoria: Es la operación de eliminar un elemento en una posición arbitraria de la colección.

  9. Búsqueda: Significa encontrar un elemento específico en la colección.