Comprender el tiempo y la complejidad espacial de los algoritmos ayuda a evaluar su eficiencia. Combinar de forma rápida y de tipo tipo son dos algoritmos de clasificación populares con diferentes características de rendimiento. Este artículo explica cómo calcular sus complejidades.

Merge tipo de complejidad

El sistema de fusión divide el array en mitades recursivamente hasta que cada subarray contenga un único elemento. El proceso de fusión combina estos subarrays en orden ordenado.

La complejidad del tiempo de fusión es O(n log n)] en los mejores, promedios y peores casos porque constantemente divide el array y lo fusiona de manera eficiente.

La complejidad espacial es O(n) debido a la necesidad de disponer de una serie temporal durante el proceso de fusión.

Complejidad de tipo rápido

El tipo rápido selecciona un elemento pivote y particiones el array en subarrays que son menos o más que el pivote. Este proceso se repite recursivamente.

La complejidad media del tiempo es O(n log n)], pero en el peor de los casos, como cuando el elemento más pequeño o más grande es elegido siempre como el pivote, se degrada a O(n^2)].

La complejidad espacial para el tipo rápido es generalmente O(log n) debido al espacio de pila recursiva, pero puede ser más alta dependiendo de la implementación.

Resumen de las complejidades

  • Medida de la fusión - Tiempo: O(n log n)]], Espacio: O(n)
  • Ordenación rápida - Tiempo: Promedio O(n log n)], peor O(n^2), Espacio: O(log n)