Desarrollo e implementación de algoritmos
Este artículo es una explicación de conceptos sobre búsqueda, ordenamiento y recursión, incluyendo preguntas de examen y etiquetas.
Resumen
Los algoritmos son instrucciones de cálculo precisas. En el desarrollo de software son cruciales para búsquedas, ordenamiento y resolución recursiva de problemas.
Descripción técnica compacta
- Algoritmos de búsqueda: búsqueda lineal, búsqueda binaria
- Algoritmos de ordenamiento: Bubble Sort, Merge Sort, Quick Sort
- Recursión: una función se invoca a sí misma hasta alcanzar la condición de parada
Los buenos algoritmos se caracterizan por su corrección, eficiencia (tiempo de ejecución) y robustez.
Puntos clave para el examen
- La búsqueda binaria solo funciona con datos preordenados (relevante para exámenes)
- Bubble Sort es ineficiente (
O(n^2)) - La recursión puede causar StackOverflow (aspecto de seguridad)
- El tiempo de ejecución determina la escalabilidad (factor económico)
- Big-O ayuda a comparar algoritmos
- Documentación: pseudocódigo, complejidad, casos de prueba
Componentes principales
- Búsqueda lineal
- Búsqueda binaria
- Bubble Sort
- Merge Sort
- Quick Sort
- Recursión
- Alternativas iterativas
- Análisis de tiempo de ejecución (Big-O)
- Manejo de errores y condiciones de parada
- Casos de prueba
Ejemplo práctico: Búsqueda binaria (Python)
def binary_search(arr, target):
low, high = 0, len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
low = mid + 1
else:
high = mid - 1
return -1
Explicación: búsqueda en O(log n) (requiere una lista ordenada).
Ventajas e inconvenientes
Ventajas
- Reutilizables y probables
- Optimiza las partes críticas del programa
Inconvenientes
- Elegir el algoritmo incorrecto afecta el rendimiento
- La recursión puede ser peligrosa sin una condición de parada clara
Preguntas típicas de examen (con respuesta breve)
- ¿Cuándo es posible la búsqueda binaria? Solo con datos ordenados.
- ¿Cuál es el inconveniente de Bubble Sort?
O(n^2). - ¿Qué es la recursión? Autoinvocación hasta alcanzar la parada.
- ¿Qué significa
O(n log n)? Clase de eficiencia típica, por ejemplo para Merge Sort.
Estrategia de aprendizaje
- Visualiza los algoritmos de ordenamiento (por ejemplo VisuAlgo).
- Implementa por lo menos 3 procedimientos de ordenamiento tú mismo.
- Escribe pseudocódigo e indica la complejidad.
- Prueba las condiciones de parada en la recursión.



