
Curso de Estructuras de Datos y Algoritmos en Python
Domina Python y Estructuras de Datos y Algoritmos desde cero — sin atajos, sin relleno. Este curso te lleva desde escribir tu primer script de Python hasta resolver problemas complejos de grafos y programación dinámica. Ya sea que estés apuntando a las mejores empresas de tecnología o mejorando tus habilidades de ingeniería, esta es la base técnica completa que necesitas.
Lo que vas a aprender:
Construirás una base sólida en Python que cubre sintaxis, colecciones y diseño orientado a objetos antes de pasar a temas centrales de DSA. Implementarás arreglos, listas enlazadas, pilas, colas, árboles y grafos completamente desde cero. Analizarás la complejidad temporal y espacial usando notación Big-O para cada algoritmo principal. Dominarás ordenamiento, búsqueda, recursión y programación dinámica con código real. También practicarás patrones de programación competitiva y técnicas de entrevistas simuladas diseñadas para prepararte para procesos de contratación técnica en las principales empresas de tecnología.
Cómo estudias de forma práctica Curso de Estructuras de Datos y Algoritmos en Python
Cómo practicas Curso de Estructuras de Datos y Algoritmos en Python
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Programación en Python
Fundamentos de Programación en Python
Lección 1 • Funciones y Alcance
Define funciones reutilizables con parámetros, valores de retorno y reglas de alcance. Prepara a los estudiantes para encapsular la lógica de DSA en unidades limpias y comprobables.
Lección 2 • Flujo de Control e Iteración
Enseña la ramificación if/elif/else, los bucles for y while, y las declaraciones de control de bucle. Permite a los estudiantes expresar lógica algorítmica en Python.
Lección 3 • Manejo de Errores y Depuración
Introduce excepciones, bloques try/except y herramientas de depuración. Capacita a los estudiantes para escribir código robusto y diagnosticar fallos en programas complejos.
Lección 4 • Tipos de Datos Básicos y Variables
Cubre enteros, flotantes, cadenas, booleanos y conversión de tipos. Proporciona los primitivos de datos utilizados en cada implementación de algoritmo más adelante.
Lección 5 • Configuración del Entorno de Python
Instala Python, configura un entorno virtual y elige un IDE. Establece la cadena de herramientas de la que depende cada capítulo posterior.
Capítulo 2OcultarOcultar detallesVer detallesColecciones y Comprensiones en Python
Colecciones y Comprensiones en Python
Lección 1 • Iteradores, Generadores y Evaluación Perezosa
Explica el protocolo de iterador, las funciones generadoras y yield. Permite el recorrido eficiente en memoria de grandes conjuntos de datos en problemas de DSA.
Lección 2 • Listas y Tuplas en Profundidad
Explora la indexación, el rebanado, la mutación y la inmutabilidad de las tuplas. Estos tipos de secuencia sustentan las estructuras de datos basadas en arreglos que se cubren más adelante.
Lección 3 • Diccionarios y Conjuntos
Cubre el almacenamiento basado en hash, las operaciones clave-valor y el álgebra de conjuntos. Apoya directamente las implementaciones de tablas hash y adyacencia de grafos.
Lección 4 • Comprensiones de Listas y Diccionarios
Enseña la sintaxis concisa de comprensión para filtrar y transformar colecciones. Reduce el código repetitivo en las implementaciones de algoritmos a lo largo del curso.
Lección 5 • Ordenamiento, Búsqueda y Algoritmos Integrados
Utiliza sorted(), min(), max() y funciones clave para procesar colecciones. Conecta las funciones integradas de Python con los algoritmos de ordenamiento personalizados que se estudian a continuación.
Capítulo 3OcultarOcultar detallesVer detallesAnálisis de Algoritmos y Complejidad
Análisis de Algoritmos y Complejidad
Lección 1 • Introducción al Análisis de Algoritmos
Define la corrección del algoritmo, la eficiencia y la necesidad de un análisis formal. Establece la mentalidad analítica aplicada a cada estructura de datos y algoritmo más adelante.
Lección 2 • Big-O, Big-Omega y Big-Theta
Formaliza la notación asintótica y las clases de complejidad comunes. Proporciona el vocabulario utilizado para describir cada algoritmo en los capítulos posteriores.
Lección 3 • Análisis de Bucles y Llamadas Recursivas
Enseña el conteo de pasos para bucles y las relaciones de recurrencia para la recursión. Prepara directamente a los estudiantes para analizar algoritmos de ordenamiento y de árboles.
Lección 4 • Perfilado de Código Python
Utiliza timeit, cProfile y memory_profiler para medir el rendimiento real. Conecta la complejidad teórica con el comportamiento de ejecución medible de Python.
Lección 5 • Complejidad Espacial y Compensaciones
Distingue el espacio auxiliar del espacio total y explora las compensaciones tiempo-espacio. Guía las decisiones de diseño cuando las restricciones de memoria son importantes.
Capítulo 4OcultarOcultar detallesVer detallesEstructuras de Datos Lineales
Estructuras de Datos Lineales
Lección 1 • Comparación de Complejidad de Estructuras Lineales
Compara la complejidad temporal y espacial de todas las estructuras lineales estudiadas. Permite la selección informada de estructuras para problemas de diseño de algoritmos.
Lección 2 • Listas Enlazadas Simples y Dobles
Construye clases Node y operaciones de lista que incluyen inserción, eliminación y recorrido. Introduce el pensamiento basado en punteros esencial para árboles y grafos.
Lección 3 • Pilas: Implementación y Aplicaciones
Implementa pilas utilizando listas y listas enlazadas, luego las aplica a problemas reales. Demuestra la semántica LIFO utilizada en recursión, análisis sintáctico y backtracking.
Lección 4 • Colas, Deques y Colas de Prioridad
Cubre colas FIFO, deques de doble extremo y colas de prioridad respaldadas por heap. Prepara a los estudiantes para problemas de BFS, programación y algoritmos voraces.
Lección 5 • Arreglos y Arreglos Dinámicos
Cubre arreglos estáticos, listas de Python como arreglos dinámicos y redimensionamiento amortizado. Establece la estructura base que todos los demás tipos lineales extienden.
Capítulo 5OcultarOcultar detallesVer detallesRecursión y Algoritmos de Ordenamiento
Recursión y Algoritmos de Ordenamiento
Lección 1 • Algoritmos de Ordenamiento Cuadráticos
Implementa ordenamiento de burbuja, selección e inserción con análisis paso a paso. Proporciona la línea base O(n²) con la que se miden los ordenamientos más rápidos.
Lección 2 • Algoritmos de Búsqueda
Implementa búsqueda lineal y búsqueda binaria con pruebas de complejidad. Conecta la búsqueda con los requisitos de datos ordenados y problemas reales de entrevista.
Lección 3 • Fundamentos de Recursión
Define casos base, casos recursivos y la pila de llamadas. Construye el modelo mental requerido para el recorrido de árboles y los algoritmos de divide y vencerás.
Lección 4 • Ordenamiento en Tiempo Lineal e Híbrido
Cubre ordenamiento por conteo, ordenamiento Radix y Timsort utilizado en el ordenamiento integrado de Python. Amplía el conjunto de herramientas de los estudiantes más allá del ordenamiento basado en comparaciones.
Lección 5 • Ordenamiento por Divide y Vencerás
Implementa merge sort y quicksort, derivando su complejidad O(n log n). Demuestra cómo la recursión permite un ordenamiento eficiente a gran escala.
Capítulo 6OcultarOcultar detallesVer detallesÁrboles y Estructuras de Datos Jerárquicas
Árboles y Estructuras de Datos Jerárquicas
Lección 1 • Árboles Binarios de Búsqueda
Implementa inserción, búsqueda y eliminación en BST con análisis promedio O(log n). Demuestra el almacenamiento y la recuperación ordenada de datos utilizando la estructura de árbol.
Lección 2 • Tries y Árboles de Prefijos
Construye un trie para inserción, búsqueda y coincidencia de prefijos de cadenas. Permite soluciones eficientes de autocompletado y búsqueda en diccionarios.
Lección 3 • Árboles Binarios y Recorridos
Define la terminología de árboles e implementa recorridos en orden, preorden y postorden. Establece el patrón de recorrido recursivo utilizado en todos los algoritmos de árboles.
Lección 4 • Heaps y Operaciones de Heap
Construye un max-heap y un min-heap, implementa heapify y heap sort. Apoya directamente las implementaciones de colas de prioridad y algoritmos voraces.
Lección 5 • Árboles Balanceados: AVL y Rojo-Negro
Explica el balanceo basado en rotaciones en árboles AVL y las reglas de color en árboles rojo-negro. Garantiza un rendimiento O(log n) en el peor caso para conjuntos de datos dinámicos.
Capítulo 7OcultarOcultar detallesVer detallesGrafos y Algoritmos de Grafos
Grafos y Algoritmos de Grafos
Lección 1 • Problemas Avanzados de Grafos
Cubre componentes fuertemente conexos, verificación de grafos bipartitos y fundamentos de flujo de red. Amplía las habilidades de grafos a categorías de problemas complejos del mundo real.
Lección 2 • Representaciones de Grafos y Terminología
Define grafos dirigidos, no dirigidos, ponderados y cíclicos con representaciones de listas de adyacencia y matrices. Establece la base para todas las implementaciones de algoritmos de grafos.
Lección 3 • Algoritmos de Camino Más Corto
Implementa los algoritmos de Dijkstra y Bellman-Ford para grafos ponderados. Capacita a los estudiantes para resolver problemas de enrutamiento y minimización de costos.
Lección 4 • Árboles de Expansión Mínima
Implementa los algoritmos de Kruskal y Prim utilizando union-find y colas de prioridad. Resuelve problemas de diseño de redes que requieren conectividad de costo mínimo.
Lección 5 • Búsqueda en Amplitud y en Profundidad
Implementa BFS con una cola y DFS con recursión y una pila. Cubre componentes conexos, detección de ciclos y ordenamiento topológico.
Capítulo 8OcultarOcultar detallesVer detallesProgramación Dinámica y Técnicas Avanzadas
Programación Dinámica y Técnicas Avanzadas
Lección 1 • Algoritmos Voraces y Backtracking
Implementa estrategias voraces para la programación de intervalos y la codificación de Huffman, además de backtracking para N-Reinas y subconjuntos. Completa el conjunto de herramientas básicas de diseño de algoritmos.
Lección 2 • Tabulación y DP Bottom-Up
Construye tablas de DP iterativamente para el cambio de monedas, subir escaleras y caminos en cuadrícula. Elimina la sobrecarga de recursión y aclara la lógica de transición de estado.
Lección 3 • Introducción a la Programación Dinámica
Define subproblemas superpuestos y subestructura óptima como requisitos previos de DP. Contrasta DP con divide y vencerás para aclarar cuándo se aplica cada uno.
Lección 4 • Memoización y DP Top-Down
Convierte la recursión ingenua en soluciones memoizadas utilizando diccionarios y functools.lru_cache. Demuestra una reducción drástica de la complejidad en Fibonacci y problemas similares.
Lección 5 • Patrones Clásicos de DP
Resuelve los problemas de la mochila, subsecuencia común más larga y distancia de edición. Enseña plantillas de DP reutilizables aplicables a una amplia gama de preguntas de entrevista.
Tu certificado válido de finalización
Este curso es para ti:
Persona que cambia de carrera profesional: quiere una base técnica estructurada para ingresar a puestos de ingeniería de software.
Estudiante de ciencias de la computación: necesita práctica práctica de codificación más allá de lo que ofrecen las clases.
Persona autodidacta en desarrollo: puede crear aplicaciones, pero tiene dificultades con la resolución de problemas algorítmicos bajo presión.
Analista de datos: listo para profundizar tus habilidades de programación hacia responsabilidades de nivel de ingeniería.
Recién egresado: preparándote para entrevistas técnicas en empresas de tecnología competitivas próximamente.
Programador aficionado: alguien curioso sobre cómo se diseñan en realidad los sistemas de software de nivel profesional internamente.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en México?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















