Elige tu idioma
Curso de Estructuras de Datos y Algoritmos en Python
Más de 2 millones de estudiantes en todo el mundo

Curso de Estructuras de Datos y Algoritmos en Python

4,5

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

Á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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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