Boost Academy
LearningAssessmentsProfile
Back
  • Live

Algoritmos y estructuras de datos intermedio

8h of live classes·HACK A BOSS·Spanish

Skills you will learn

  • Algoritmos y estructuras de datos

Schedules

You need an active plan

To access live courses you need an active plan. We're working on making plans available soon — stay tuned.

There are no open calls right now, but don't miss out: save this course and we'll notify you as soon as a call opens.

Description

Learning objectives

Syllabus

Technical requirements

Prerequisites

Schedule details

Resources

No resources are available yet for this schedule

Este curso capacita a desarrolladores con base de programación para resolver problemas algorítmicos de dificultad intermedia mediante comparación de alternativas, selección de estructuras de datos, uso de mapas, conjuntos, árboles binarios y recursión, y validación de complejidad. Dirigido a participantes que ya manejan estructuras lineales, recorridos, búsquedas y ordenamientos básicos, y necesitan avanzar hacia decisiones técnicas justificadas. Al finalizar, el participante será capaz de diseñar, depurar y defender soluciones algorítmicas con pruebas, análisis de coste y elección razonada de estructuras.

Al finalizar el curso, el participante será capaz de:

  • Comparar soluciones algorítmicas alternativas para un mismo problema, justificando la elección según complejidad temporal, complejidad espacial y legibilidad
  • Diseñar una solución que use mapas o conjuntos para reducir búsquedas repetidas en colecciones de datos
  • Integrar árboles binarios básicos para representar y recorrer datos jerárquicos mediante recorridos preorden, inorden o postorden
  • Adaptar algoritmos de ordenamiento o búsqueda a criterios personalizados, manteniendo corrección y explicando sus límites
  • Depurar errores lógicos en algoritmos iterativos o recursivos, identificando casos límite y condiciones de parada incorrectas
  • Diseñar soluciones recursivas para problemas descomponibles, comparándolas con una alternativa iterativa cuando exista
  • Justificar la elección entre listas, pilas, colas, mapas, conjuntos y árboles básicos según operaciones dominantes del problema
  • Integrar análisis de complejidad en la validación de una solución, detectando cuellos de botella evidentes antes de escalar el tamaño de entrada
  1. Comparación de alternativas algorítmicas Criterios de decisión entre soluciones correctas, complejidad temporal, complejidad espacial, legibilidad, restricciones de entrada, trade-offs entre tiempo y memoria
  2. Mapas, conjuntos y operaciones dominantes Uso de diccionarios, tablas hash y conjuntos para reducir búsquedas repetidas; detección de duplicados, frecuencias, pertenencia, agrupación de datos y justificación de estructura según operaciones frecuentes
  3. Árboles binarios y recorridos Representación de datos jerárquicos, nodos raíz e hijos, recorridos preorden, inorden y postorden, relación entre árbol binario de búsqueda y orden de los datos
  4. Búsqueda, ordenamiento y recursión con criterios personalizados Adaptación de criterios de ordenación, búsqueda binaria bajo condiciones de orden, casos base, casos recursivos, comparación entre soluciones recursivas e iterativas
  5. Depuración, casos límite y validación de complejidad Identificación de errores de frontera, condiciones de parada, invariantes de búsqueda, pruebas con tamaños crecientes, detección de cuellos de botella y mejora de soluciones mediante cambio de estructura
  • Python 3.11 o superior para implementar ejemplos, estructuras y ejercicios algorítmicos
  • Entorno de desarrollo con soporte para ejecución de scripts y depuración paso a paso, como VS Code o PyCharm
  • pytest 8.x o superior para validar funciones con casos de prueba automatizados
  • Git para versionar las soluciones y comparar iteraciones de código
  • Acceso a documentación de referencia sobre estructuras de datos, complejidad y ordenación

→ AED01 — Algoritmos y estructuras de datos iniciación (Iniciación, 6h)

  • Reconocer y utilizar arrays, listas, pilas y colas
  • Recorrer estructuras lineales y operar sobre sus elementos
  • Interpretar la complejidad temporal y espacial de algoritmos básicos
  • Aplicar búsqueda lineal, búsqueda binaria y ordenamiento simple en casos prácticos
  • Seleccionar y justificar una estructura de datos sencilla según el problema
  • Resolver problemas sencillos descomponiéndolos en pasos algorítmicos