Duración: 4 horas
En este curso se aprenderán los fundamentos de estructuras de datos y algoritmos para analizar y mejorar la eficiencia computacional mediante ejercicios prácticos en Python.
¿Qué aprenderás?
Analizar la eficiencia de los algoritmos con notación Big-O.
Usar estructuras lineales como arrays y listas enlazadas.
Aplicar pilas y colas en problemas prácticos.
Implementar algoritmos de búsqueda y ordenamiento.
Trabajar con árboles y grafos para representar relaciones.
Utilizar hashing, recursión y programación dinámica para optimizar soluciones.
Contenido del curso
Módulo | Descripción |
---|---|
Módulo 1: Introducción a Algoritmos y Complejidad
|
Aprenderás qué es un algoritmo, cómo medir su eficiencia y analizar su complejidad usando notación Big-O.
|
Módulo 2: Arrays y Listas
|
Conocerás arrays y listas enlazadas, sus operaciones básicas y diferencias, aplicando inserción y borrado.
|
Módulo 3: Pilas y Colas
|
Entenderás pilas (LIFO) y colas (FIFO), su implementación y uso en problemas prácticos como backtracking.
|
Módulo 4: Búsqueda y Ordenamiento
|
Aprenderás a buscar y ordenar datos usando algoritmos como búsqueda lineal/binaria y Bubble/Merge Sort, comparando su rendimiento.
|
Módulo 5: Árboles y Grafos
|
Explorarás árboles binarios y grafos, sus recorridos y representaciones, aplicando BFS en ejemplos prácticos.
|
Módulo 6: Hashing y Tablas Hash
|
Comprenderás hashing y tablas hash, manejo de colisiones y comparación con arrays y diccionarios.
|
Módulo 7: Algoritmos Clásicos
|
Aprenderás recursión, programación dinámica y algoritmos clásicos como Dijkstra, optimizando soluciones como Fibonacci.
|
Descripción del Curso
¿Qué incluye el curso?
- Clases teóricas claras con ejemplos reales.
- Ejercicios guiados y notebooks en Colab listos para usar.
- Actividades con código incompleto para que practiques resolviendo.
- Acceso a recursos descargables y bibliografía recomendada.
Público objetivo
- Estudiantes y profesionales que quieran iniciarse en programación con Python.
- Personas sin experiencia previa que busquen aprender a programar de forma rápida y práctica.
- Programadores de otros lenguajes que deseen incorporar Python a sus habilidades.
- No se requieren conocimientos previos, aunque ayudará tener nociones básicas de lógica de programación.