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.