Archivo de la etiqueta: Backtracking

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” »

Análisis de Algoritmos: Eficiencia, Resolución de Problemas y Clasificación

Eficiencia de Algoritmos

El análisis de algoritmos se centra en la eficiencia, que es función del número de instrucciones que contiene. Esta eficiencia depende de la velocidad de las computadoras.

Implica diversos tipos de memoria:

  • Principal
  • Caché
  • Flash
  • Archivos
  • HDD

Eficiencia como Factor Espacio-Tiempo

La eficiencia como factor espacio-tiempo debe estar relacionada con la buena calidad, el funcionamiento y la facilidad de mantenimiento de un programa.

Formato General

F(n) = Eficiencia

Se Examina como una Seguir leyendo “Análisis de Algoritmos: Eficiencia, Resolución de Problemas y Clasificación” »