Skip to content
IRC-CodingIRC-Coding
Algoritmo de búsquedaAlgoritmo de ordenamientoRecursiónBig-OBúsqueda binariaAlgoritmosAlgoritmoFundamentos

Algoritmos: Búsqueda, Ordenamiento y Recursión

Guía completa de algoritmos: búsqueda lineal y binaria, Bubble Sort, Merge Sort, Quick Sort, recursión y Big-O con ejemplos en Python.

S

schutzgeist

2 min read
Algoritmos: Búsqueda, Ordenamiento y Recursión

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

  1. Búsqueda lineal
  2. Búsqueda binaria
  3. Bubble Sort
  4. Merge Sort
  5. Quick Sort
  6. Recursión
  7. Alternativas iterativas
  8. Análisis de tiempo de ejecución (Big-O)
  9. Manejo de errores y condiciones de parada
  10. 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)

  1. ¿Cuándo es posible la búsqueda binaria? Solo con datos ordenados.
  2. ¿Cuál es el inconveniente de Bubble Sort? O(n^2).
  3. ¿Qué es la recursión? Autoinvocación hasta alcanzar la parada.
  4. ¿Qué significa O(n log n)? Clase de eficiencia típica, por ejemplo para Merge Sort.

Estrategia de aprendizaje

  1. Visualiza los algoritmos de ordenamiento (por ejemplo VisuAlgo).
  2. Implementa por lo menos 3 procedimientos de ordenamiento tú mismo.
  3. Escribe pseudocódigo e indica la complejidad.
  4. Prueba las condiciones de parada en la recursión.

Fuentes más importantes

  1. https://visualgo.net
  2. https://www.bigocheatsheet.com/
Volver al blog
Share:

Nächster Artikel in Arquitectura de Software

Weiterlesen
Algoritmos: Propiedades, Estructuras y Struktogramm

Entradas relacionadas