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

Domine Python y Estructuras de Datos y Algoritmos desde cero — sin atajos, sin relleno. Este curso lo lleva desde escribir su primer script en Python hasta resolver problemas complejos de grafos y programación dinámica. Ya sea que aspire a las mejores empresas de tecnología o busque mejorar sus habilidades de ingeniería, esta es la base técnica completa que necesita.

Dedika para empresas

Lo que vas a aprender:

Usted construirá una base sólida en Python que cubre sintaxis, colecciones y diseño orientado a objetos antes de pasar a los temas centrales de DSA. Implementará arreglos, listas enlazadas, pilas, colas, árboles y grafos completamente desde cero. Analizará la complejidad temporal y espacial utilizando notación Big-O para cada algoritmo principal. Dominará la ordenación, búsqueda, recursión y programación dinámica con código real. También practicará patrones de programación competitiva y técnicas de entrevistas simuladas diseñadas para prepararlo para procesos de selecció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 Ámbito

    Define funciones reutilizables con parámetros, valores de retorno y reglas de ámbito. Prepara a los estudiantes para encapsular lógica de estructuras de datos y algoritmos en unidades limpias y comprobables.

  • Lección 2 • Flujo de Control e Iteración

    Enseña ramificaciones if/elif/else, bucles for y while, y sentencias 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 fallas en programas complejos.

  • Lección 4 • Tipos de Datos Básicos y Variables

    Cubre enteros, flotantes, cadenas, booleanos y conversión de tipos. Proporciona las primitivas de datos utilizadas en cada implementación de algoritmo a continuación.

  • Lección 5 • Configuración del Entorno de Python

    Instale Python, configure un entorno virtual y elija un IDE. Establece la cadena de herramientas de la que depende cada capítulo subsiguiente.

Capítulo 2Ver detalles

Colecciones y Comprensiones en Python

  • Lección 1 • Iteradores, Generadores y Evaluación Perezosa

    Explica el protocolo iterador, las funciones generadoras y yield. Permite el recorrido eficiente en memoria de grandes conjuntos de datos en problemas de estructuras de datos y algoritmos.

  • Lección 2 • Listas y Tuplas en Profundidad

    Explora indexación, segmentación, mutación e inmutabilidad de 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 almacenamiento basado en hash, operaciones clave-valor y álgebra de conjuntos. Apoya directamente implementaciones de tablas hash y adyacencia de grafos.

  • Lección 4 • Comprensiones de Listas y Diccionarios

    Enseña sintaxis concisa de comprensión para filtrar y transformar colecciones. Reduce el código repetitivo en implementaciones de algoritmos a lo largo del curso.

  • Lección 5 • Ordenamiento, Búsqueda y Algoritmos Integrados

    Usa sorted(), min(), max() y funciones clave para procesar colecciones. Vincula 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 que sigue.

  • 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 siguientes.

  • Lección 3 • Análisis de Bucles y Llamadas Recursivas

    Enseña el conteo de pasos para bucles y relaciones de recurrencia para recursión. Prepara directamente a los estudiantes para analizar algoritmos de ordenamiento y de árboles.

  • Lección 4 • Perfilado de Código Python

    Usa 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 Nodo y operaciones de lista incluyendo 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 usando 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 BFS, planificación y problemas de 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²) contra la cual 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 algoritmos de divide y vencerás.

  • Lección 4 • Ordenamiento en Tiempo Lineal e Híbrido

    Cubre ordenamiento por conteo, ordenamiento radix y Timsort usado en el ordenamiento integrado de Python. Amplía el conjunto de herramientas de los estudiantes más allá del ordenamiento basado en comparación.

  • 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 recuperación de datos ordenados usando 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 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 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 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 grafo bipartito y fundamentos de flujo de red. Extiende las habilidades de grafos a categorías de problemas complejos del mundo real.

  • Lección 2 • Representaciones y Terminología de Grafos

    Define grafos dirigidos, no dirigidos, ponderados y cíclicos con representaciones de lista de adyacencia y matriz. 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 usando 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 Anchura 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 programación de intervalos y codificación de Huffman, más backtracking para N-Reinas y subconjuntos. Completa el conjunto de herramientas central de diseño de algoritmos.

  • Lección 2 • Tabulación y DP Bottom-Up

    Construye tablas DP iterativamente para cambio de monedas, escalones y caminos en cuadrícula. Elimina la sobrecarga de recursión y clarifica la lógica de transición de estados.

  • Lección 3 • Introducción a la Programación Dinámica

    Define subproblemas superpuestos y subestructura óptima como prerrequisitos 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 recursión ingenua en soluciones memoizadas usando diccionarios y functools.lru_cache. Demuestra reducción dramática de complejidad en Fibonacci y problemas similares.

  • Lección 5 • Patrones Clásicos de DP

    Resuelve problemas de mochila, subsecuencia común más larga y distancia de edición. Enseña plantillas 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 en transición de trayectoria profesional: quiere una base técnica estructurada para ingresar en roles de ingeniería de software.

  • Estudiante de ciencias de la computación: necesita práctica de programación práctica más allá de lo que ofrecen las clases magistrales.

  • Desarrollador autodidacta: puede crear aplicaciones, pero tiene dificultades con la resolución de problemas algorítmicos bajo presión.

  • Analista de datos: listo para profundizar sus habilidades de programación hacia responsabilidades de nivel de ingeniería.

  • Recién egresado: preparándose para entrevistas técnicas en empresas de tecnología competitivas próximamente.

  • Programador aficionado: tiene curiosidad por cómo en realidad se diseñan internamente los sistemas de software de nivel profesional.

Lo que dicen nuestros estudiantes

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... les agradezco por 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 Perú?

¿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