UNIDAD 3 - Paula226/Base_Datos_AvanzadaCuarto GitHub Wiki

📊 Análisis de Algoritmos

2.1 Estructuras de Control

Las estructuras de control son bloques que definen cómo se ejecutan las instrucciones dentro de un algoritmo. Permiten tomar decisiones, repetir acciones o modificar el flujo normal del programa.

Tipos de estructuras de control:

  • Condicionales: if, else
  • Repetitivas: for, while
  • Saltos: break, continue, return

Estructuras Secuenciales

📌 Definición

Se ejecutan una tras otra, en el orden en que están escritas, sin tomar decisiones ni hacer repeticiones.

¿Para qué sirve?

  • Para realizar acciones básicas y directas.
  • Ideal cuando no hay condiciones ni ciclos involucrados.

Estructuras Repetitivas (Bucles)

📌 Definición

Permiten repetir una o más instrucciones múltiples veces, dependiendo de una condición o de un número específico de repeticiones.

Tipos comunes

  • for: se usa cuando sabes cuántas veces quieres repetir algo.
  • while: se usa cuando la repetición depende de una condición.

¿Para qué sirve?

  • Para recorrer listas o estructuras de datos.
  • Para automatizar tareas repetitivas.
  • Para repetir cálculos o verificaciones.

Estructuras Condicionales

📌 Definición

Permiten tomar decisiones, ejecutando distintas instrucciones dependiendo de si se cumple o no una condición lógica.

Es el clásico: "Si pasa esto, haz esto..."

¿Para qué sirve?

  • Para elegir caminos distintos en función de la entrada.
  • Para controlar el flujo de ejecución de forma dinámica.

2.2 Análisis del Caso Medio

📌 Definición

El caso medio estima el rendimiento promedio de un algoritmo, asumiendo que las entradas están distribuidas aleatoriamente o uniformemente.

¿Para qué sirve?

  • Proporciona una visión realista del comportamiento del algoritmo.
  • Útil cuando ni el mejor caso ni el peor caso ocurren frecuentemente.

2.3 Análisis Amortizado

📌 Definición

Calcula el costo promedio por operación en una secuencia de operaciones, aunque algunas sean muy costosas individualmente.

A diferencia del caso medio, no depende de entradas aleatorias, sino del comportamiento acumulado.

¿Para qué sirve?

  • Predecir el rendimiento real en operaciones repetitivas.
  • Muy útil en estructuras de datos como:
    • Pilas
    • Colas dinámicas
    • Arreglos redimensionables

2.4 Recurrencias

📌 Definición

Son ecuaciones que describen un problema de forma recursiva. Se utilizan para analizar el tiempo de ejecución de algoritmos recursivos.

¿Para qué sirve?

  • Determinar el tiempo de ejecución de algoritmos que se llaman a sí mismos, como:
    • Merge Sort
    • Quick Sort
    • Fibonacci

Técnicas de resolución:

  • Sustitución
  • Árbol de recurrencia
  • Teorema maestro

Conclusión: El análisis de algoritmos y sus estructuras de control permite diseñar soluciones más eficientes, predecibles y adecuadas a cada contexto. Conocer el comportamiento en casos medios, amortizados o recursivos es clave para un desarrollo de software de calidad y rendimiento óptimo.