
Curso de Algoritmos y Estructuras de Datos en Python
Domina cada estructura de datos y algoritmo fundamental que necesitas para superar entrevistas técnicas y escribir código Python de alto rendimiento. Este curso te lleva desde los fundamentos de Python hasta la programación dinámica, grafos y estructuras avanzadas. Resolverás problemas reales de entrevista en cada etapa, desarrollando tanto velocidad como confianza. Si tu objetivo es conseguir un puesto en ingeniería de software, este es tu punto de partida.
Lo que vas a aprender:
Construirás una base completa en estructuras de datos y algoritmos con Python, comenzando con sintaxis y análisis de complejidad y avanzando a través de arrays, listas enlazadas, árboles, grafos y programación dinámica. Cada capítulo presenta conceptos fundamentales y luego los aplica directamente a los patrones de problemas que aparecen con mayor frecuencia en las entrevistas técnicas. Implementarás cada estructura desde cero, analizarás su rendimiento y practicarás el reconocimiento de qué algoritmo se ajusta a un problema dado. Los capítulos complementarios cubren backtracking, estrategias voraces, manipulación de bits y estructuras avanzadas como árboles de Fenwick y árboles de segmentos. Al final, dispondrás de un portafolio documentado en GitHub y un framework probado para resolver problemas desconocidos en condiciones de entrevista.
Cómo estudias de forma práctica Curso de Algoritmos y Estructuras de Datos en Python
Cómo practicas Curso de Algoritmos y Estructuras de Datos en Python
Para ti que eres empresa y quieres formar 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 • 35 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Python para DSA
Fundamentos de Python para DSA
Lección 1 • Funciones y Ámbito
Define funciones reutilizables, argumentos por defecto y reglas de ámbito de variables. Las funciones son la unidad principal de implementación de algoritmos en este curso.
Lección 2 • Visión General de Colecciones Integradas
Examina listas, tuplas, diccionarios y conjuntos con sus complejidades temporales. Proporciona el conocimiento práctico de contenedores necesario antes de construir estructuras personalizadas.
Lección 3 • Módulos, Bibliotecas y E/S
Introduce la importación de módulos, el uso de la biblioteca estándar y la lectura de entrada para problemas de estilo competitivo. Prepara a los estudiantes para flujos de trabajo de resolución de problemas estructurados.
Lección 4 • Sintaxis de Python y Flujo de Control
Cubre variables, tipos de datos, condicionales y bucles como base para todo el código de algoritmos. Establece hábitos de codificación limpia utilizados a lo largo del curso.
Capítulo 2OcultarOcultar detallesVer detallesAnálisis de Complejidad y Notación Big-O
Análisis de Complejidad y Notación Big-O
Lección 1 • Big-O, Big-Theta y Big-Omega
Define las tres notaciones asintóticas y su significado matemático. Los estudiantes aplican cada notación para clasificar con precisión el comportamiento de los algoritmos.
Lección 2 • Medición del Rendimiento de Algoritmos
Introduce conceptos de medición del tiempo de ejecución y por qué el análisis teórico supera a las pruebas de rendimiento empíricas por sí solas. Establece la mentalidad analítica para cada capítulo siguiente.
Lección 3 • Análisis de Bucles y Recursión
Enseña el análisis sistemático de bucles anidados y llamadas recursivas. Directamente aplicable a cada algoritmo de ordenación y búsqueda en capítulos posteriores.
Lección 4 • Complejidad Espacial
Distingue el espacio auxiliar del espacio total y analiza el uso de memoria de las estructuras de datos. Prepara a los estudiantes para tomar decisiones de compromiso espacio-tiempo.
Capítulo 3OcultarOcultar detallesVer detallesArrays, Cadenas y Hashing
Arrays, Cadenas y Hashing
Lección 1 • Dos Punteros y Ventana Deslizante
Introduce los patrones de dos punteros y ventana deslizante para soluciones O(n) en datos ordenados o secuenciales. Reduce significativamente los enfoques de fuerza bruta O(n²).
Lección 2 • Tablas Hash y Manejo de Colisiones
Explica el diseño de funciones hash, la resolución de colisiones y los detalles internos de los dict en Python. Los estudiantes implementan mapas hash personalizados y resuelven problemas de búsqueda en O(1).
Lección 3 • Técnicas de Manipulación de Arrays
Cubre operaciones in-place, sumas de prefijos y arrays de diferencias para consultas de rango. Estos patrones aparecen en la mayoría de los problemas tipo entrevista.
Lección 4 • Algoritmos de Procesamiento de Cadenas
Cubre la búsqueda de subcadenas, detección de anagramas y verificación de palíndromos usando técnicas eficientes. Construye la intuición sobre cadenas necesaria para hashing y coincidencia de patrones.
Capítulo 4OcultarOcultar detallesVer detallesListas Enlazadas, Pilas y Colas
Listas Enlazadas, Pilas y Colas
Lección 1 • Cola, Deque y Cola de Prioridad
Implementa colas FIFO, deques de doble extremo y colas de prioridad basadas en montículos. Prepara a los estudiantes para problemas de BFS y algoritmos de planificación.
Lección 2 • Listas Simples y Doblemente Enlazadas
Construye clases de listas enlazadas basadas en nodos con inserción, eliminación y recorrido. Establece habilidades de manipulación de punteros utilizadas posteriormente en árboles y grafos.
Lección 3 • Implementación y Aplicaciones de Pilas
Implementa pilas usando listas y listas enlazadas, luego las aplica a problemas de análisis y evaluación. Las pilas sustentan la simulación de recursión y el backtracking.
Lección 4 • Patrones de Problemas de Listas Enlazadas
Cubre técnicas de punteros rápido-lento, inversión y fusión en listas enlazadas. Estos patrones reaparecen en problemas de recorrido de árboles y grafos.
Capítulo 5OcultarOcultar detallesVer detallesRecursión y Algoritmos de Ordenación
Recursión y Algoritmos de Ordenación
Lección 1 • Fundamentos de Recursión
Define casos base, llamadas recursivas y el comportamiento de la pila de llamadas con seguimiento visual. El diseño correcto de recursión es un prerrequisito para divide y vencerás y backtracking.
Lección 2 • Ordenación por Divide y Vencerás
Implementa merge sort y quicksort con análisis completo de recurrencia. Los estudiantes comprenden las estrategias de partición y los compromisos de estabilidad.
Lección 3 • Algoritmos de Búsqueda
Implementa la búsqueda binaria y sus variantes en arrays ordenados y espacios de respuesta. La búsqueda binaria sobre la respuesta es un patrón clave para problemas de optimización.
Lección 4 • Ordenación Lineal e Híbrida
Cubre counting sort, radix sort y bucket sort para escenarios sin comparación. Los estudiantes identifican cuándo la ordenación lineal supera a los métodos basados en comparación.
Capítulo 6OcultarOcultar detallesVer detallesÁrboles y Árboles Binarios de Búsqueda
Árboles y Árboles Binarios de Búsqueda
Lección 1 • Patrones de Problemas de Árboles
Cubre problemas de suma de camino, ancestro común más bajo y diámetro usando recursión. Estos patrones aparecen con frecuencia en entrevistas técnicas y diseño de sistemas.
Lección 2 • Tries y Árboles de Segmento
Construye tries de prefijos para búsqueda de cadenas y árboles de segmento para consultas de rango. Estos árboles especializados resuelven problemas que los BSTs y montículos no pueden manejar eficientemente.
Lección 3 • Árboles Balanceados y Montículos
Introduce los conceptos de balanceo de árboles AVL y rojo-negro, y la estructura de montículo. Los estudiantes comprenden cuándo son necesarios los árboles autobalanceables para garantías de rendimiento.
Lección 4 • Fundamentos de Árboles Binarios
Define la terminología de árboles, la estructura de nodos y los órdenes de recorrido recursivo. Los patrones de recorrido son la base de todos los algoritmos basados en árboles.
Lección 5 • Operaciones de Árbol Binario de Búsqueda
Implementa la inserción, eliminación y búsqueda en BST con análisis de complejidad. Las propiedades del BST permiten la recuperación eficiente de datos ordenados y consultas de rango.
Capítulo 7OcultarOcultar detallesVer detallesGrafos y Algoritmos de Grafos
Grafos y Algoritmos de Grafos
Lección 1 • Orden Topológico y Detección de Ciclos
Aplica el algoritmo de Kahn y la ordenación topológica basada en DFS a DAGs. La detección de ciclos y la ordenación son esenciales para problemas de resolución de dependencias.
Lección 2 • Árboles de Expansión Mínima y Union-Find
Implementa los algoritmos de Kruskal y Prim junto con la estructura Union-Find. Estas herramientas resuelven problemas de conectividad de red y agrupamiento de manera eficiente.
Lección 3 • Algoritmos de Camino Más Corto
Implementa Dijkstra, Bellman-Ford y Floyd-Warshall para grafos ponderados. Los estudiantes seleccionan el algoritmo correcto según las propiedades y restricciones del grafo.
Lección 4 • Recorridos BFS y DFS
Implementa BFS iterativo y DFS recursivo con seguimiento de visitados. Estos dos recorridos sustentan casi todos los algoritmos de grafos en este capítulo.
Lección 5 • Representaciones de Grafos
Compara las representaciones de matriz de adyacencia, lista de adyacencia y lista de aristas con sus compromisos. Elegir la representación correcta impacta directamente en la eficiencia del algoritmo.
Capítulo 8OcultarOcultar detallesVer detallesProgramación Dinámica
Programación Dinámica
Lección 1 • Patrones Clásicos de Problemas de DP
Resuelve los problemas de la mochila, subsecuencia más larga y cambio de monedas como plantillas canónicas de DP. Dominar estas plantillas acelera la resolución de nuevos problemas de DP.
Lección 2 • Fundamentos de DP y Memoización
Define los subproblemas solapados y la subestructura óptima como prerrequisitos de DP. La memoización descendente convierte soluciones recursivas en soluciones DP eficientes.
Lección 3 • Tabulación y Optimización de Espacio
Construye tablas DP ascendentes y reduce el espacio usando arrays rodantes. La DP con espacio optimizado es crítica para restricciones de entrada grandes en problemas competitivos.
Lección 4 • DP en Intervalos y Cuadrículas
Aplica DP a problemas de fusión de intervalos y caminos en cuadrícula con espacios de estado 2D. Estos patrones amplían las habilidades de DP a tipos de problemas matriciales y basados en rangos.
Lección 5 • Técnicas Avanzadas de DP
Cubre DP con máscaras de bits, DP de dígitos y DP en árboles para representaciones de estado complejas. Estas técnicas manejan problemas de optimización combinatoria y jerárquica.
Tu certificado válido de finalización
Este curso es para ti:
Estudiante de informática: necesita preparación estructurada para entrevistas más allá de la teoría de clase.
Desarrollador autodidacta: tiene experiencia en proyectos pero carece de formación formal en algoritmos.
Cambio de carrera: transición a la ingeniería de software desde una formación no técnica.
Ingeniero/a junior: quiere cualificarse para roles de nivel medio que requieren una mayor profundidad técnica.
Analista de datos: expandiéndose hacia puestos de ingeniería que requieren competencias en resolución algorítmica de problemas.
Graduado de bootcamp: listo para dejar atrás los tutoriales y enfrentarse a los desafíos reales de las entrevistas.
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 hacéis, ya os he recomendado a otras personas...

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

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

La plataforma es rápida, fácil de usar. La diversidad de contenido y los vídeos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en España?
¿Los cursos son gratuitos?
¿Cuál es la carga lectiva 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 coste o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















