Archivo de la etiqueta: complejidad computacional

Fundamentos de Algoritmos: Complejidad, Estructuras y Estrategias de Resolución

Complejidad Algorítmica

El orden típico de complejidad, de menor a mayor, es: Θ(1) < Θ(log n) < Θ(n) < Θ(n log n) < Θ(n²) < Θ(n³) < Θ(2ⁿ) < Θ(n!).

  • Θ(n): Recorrer un vector una vez.
  • Θ(n²): Bucles anidados.
  • Θ(log n): Dividir entre 2 repetidamente.

Estrategias de Diseño

Divide y Vencerás

Divide el problema en varios subproblemas, los resuelve recursivamente y combina las soluciones. Se aplica en algoritmos como MergeSort o Quicksort. Su forma típica es T(n) = aT(n/ Seguir leyendo “Fundamentos de Algoritmos: Complejidad, Estructuras y Estrategias de Resolución” »

Fundamentos de Algoritmos: Iteración, Recursión y Complejidad Computacional

Definición de Algoritmo

Un algoritmo es un conjunto ordenado y finito de instrucciones o pasos que se siguen para resolver un problema o realizar una tarea específica.

Complejidad Algorítmica (Notación Big O)

La complejidad de un algoritmo describe cómo sus requerimientos de tiempo o espacio crecen con el tamaño de la entrada. Se expresa comúnmente usando la notación Big O: