Menu
CoddyTech
Ruta de aprendizaje

Estructuras de datos y algoritmos en C++

La STL es esta ruta en forma de biblioteca: std::vector, std::unordered_map, std::priority_queue y std::set son un array dinámico, una tabla hash, un heap y un árbol balanceado. Construye cada uno en C++ con clases y punteros, y después usa la STL sabiendo lo que cuesta cada llamada. La manipulación de bits se enseña directamente en C++. Gratis, en tu navegador y con un certificado en la mayoría de los cursos.

394 lecciones284 retos702 preguntas de quiz

DSA en C++, paso a paso

39 cursos394 lecciones284 retos702 preguntas de quiz

Cada paso es un conjunto de cursos que ya existen en Coddy, y cada botón Empezar los abre en C++. Los dos cursos que todavía no se enseñan en C++ aparecen después de los pasos.

  1. 1
    Empezar este pasoEmpezarPila, cola, árbol binario, tabla hash y lista enlazada, cada una construida desde cero en C++ con clases y punteros, y usada después para resolver problemas. Al terminar, std::stack, std::queue y std::unordered_map son estructuras que ya has escrito.Empezar
  2. 2
    Empezar este pasoEmpezarLista doblemente enlazada, heaps y colas de prioridad, tries, grafos y el árbol AVL autobalanceado. std::priority_queue es un max-heap por defecto, mientras que los heaps de Python y Java son min-heaps; cuando ya has escrito uno, invertirlo con std::greater es evidente.Empezar
  3. 3
    Empezar este pasoEmpezarBubble, selection, insertion, merge, quick, heap, counting y radix sort, escritos en C++ y vistos en el visualizador. std::sort suele ser un introsort, un quicksort que recurre a heapsort cuando lo necesita, y std::stable_sort, un merge sort; este paso es lo que da sentido a esas elecciones.Empezar
  4. 4
    Empezar este pasoEmpezarRetos de recursión y manipulación de bits, ambos en C++, el lenguaje para el que está escrito el curso de manipulación de bits. La programación dinámica se enseña en Python y aparece después de los pasos; sus tablas de memoización se traducen directamente a std::vector.Empezar
  5. 5
  6. 6
Lo que obtienes
Todo lo que usarás para aprender a programar

Aprende Haciendo

Escribe código real, consulta bases de datos, crea sitios web y domina los prompts de IA. Nuestras lecciones interactivas cubren todas las habilidades que los desarrolladores modernos necesitan.

playground.js
Editor de Código
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Prueba #1test Case Success icon
Prueba #2test Case Success icon
Prueba #3test Case Failure icon
Entrada
"Alex"
Salida
"Hello, Coddy! Alex"

Construye tu Racha

¡Mantén la constancia y observa cómo crece tu progreso! Sigue tu hábito diario de programación, protege tu racha con días de congelación y gana recompensas por aparecer cada día.

12 días de racha

¡Vuelve mañana para mantener tu racha!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Doble o Nada

Día 5 de 7

fire Freeze icon

Congelar Racha

2 left

Donde Quieras

¡Lleva tu viaje de programación contigo! Sin configuración, sin descargas, solo abre y empieza a programar. Disponible en iOS, Android y Web con calificaciones de 4.9 estrellas.

Python
7Racha
250Puntuación
5Energía
Variables
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUAR
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Recorrido
Objetivos
Clasificación
Perfil
4.9
EstrellaEstrellaEstrellaEstrellaEstrella
Calificación

No Estás Solo

Compite en tablas de clasificación globales, invita amigos para ganar recompensas y celebra los logros de los demás. ¡Programar es mejor con amigos!

Liga Challenger
Liga ChallengerLos 7 mejores avanzan
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconZona de promociónleaderboard Arrow Up icon

Aprende de todas las formas

Lee, escucha, ponte a prueba, pregunta a la IA o consulta cualquier cosa que ya hayas estudiado. Cada lección se adapta a ti.

Introducción a variables
Audio

Una variable es un contenedor con nombre que guarda un valor al que puedes hacer referencia más tarde.

En Python, creas una escribiendo el nombre, un signo igual y el valor que quieres guardar.

El valor puede cambiar con el tiempo: reasignar el nombre simplemente lo apunta a un nuevo valor.

1xSarah

Certifícate

Gana certificados por cada curso que completes. Agrégalos a tu perfil de LinkedIn y currículum para mostrar tu experiencia en programación a los empleadores.

CoddyCertificado de Finalización
Esto certifica queJuan Pérezha completado exitosamente
python iconFundamentos de Python
Verificado
Fechaene 2026
LinkedInAgregar a LinkedIn

Por qué aprender DSA en C++ con Coddy

  • El lenguaje de la programación competitiva. La mayoría de los programadores competitivos escriben en C++, por su velocidad y la STL, y se acepta en casi cualquier entrevista de programación. Aprender DSA en C++ es aprender el dialecto en el que se escriben los concursos.
  • Punteros a la vista. En C++, una lista enlazada son nodos y punteros, una rotación AVL es un puñado de movimientos de punteros y un destructor libera la memoria que reservaste. Aprendes las estructuras tal como las guarda la máquina y luego dejas que la STL lo haga por ti.
  • La manipulación de bits, en su propio lenguaje. El curso de manipulación de bits de la ruta se enseña en C++, así que aquí no es un desvío: máscaras, desplazamientos y trucos de bits llegan en el lenguaje que ya estás escribiendo. Solo la programación dinámica y la serie de entrevistas en Python no están en C++: se enseñan en Python y aparecen después de los pasos.
  • Evaluado como en una entrevista. Cada lección termina en un reto de C++ comprobado con casos de prueba y, cuando uno falla, Bugsy lee tu código y te empuja hacia el arreglo sin darte la respuesta. Un certificado gratuito en la mayoría de los cursos, verificable cada uno en su propia URL.

Preguntas frecuentes sobre DSA en C++

¿Es C++ bueno para estructuras de datos y algoritmos?

Es la opción más común en la programación competitiva y una opción sólida para entrevistas: rápido, con una biblioteca estándar que cubre casi todas las estructuras que necesitas. El precio es más código y más formas de equivocarse, desde punteros colgantes hasta iteradores invalidados. Construir primero las estructuras tú mismo, como hace esta ruta, es la forma de que dejen de sorprenderte.

¿Qué contenedores de la STL corresponden a qué estructuras de datos?

std::vector es un array dinámico, std::stack y std::queue son por defecto adaptadores sobre std::deque, std::list es una lista doblemente enlazada, std::unordered_map y std::unordered_set son tablas hash, std::priority_queue es un heap binario (un max-heap por defecto, a diferencia de los de Python y Java), y std::map y std::set son árboles binarios de búsqueda balanceados, en la práctica árboles rojo-negro. No hay contenedor de trie ni de grafo; esos los escribes tú.

¿Debo implementar yo mismo las estructuras de datos o usar directamente la STL?

Las dos cosas, en ese orden. Implementa cada estructura una vez, para saber por qué las búsquedas en std::unordered_map son de tiempo constante en promedio y por qué std::map mantiene sus claves ordenadas, y a partir de ahí usa la STL en todas partes. En un concurso o en una entrevista nadie espera un árbol rojo-negro escrito a mano; esperan que elijas el contenedor adecuado y conozcas su coste.

¿C++ o Python para DSA?

C++ si piensas hacer programación competitiva o entrevistas donde se espera que lo uses; Python si quieres el camino más corto de la idea al código que funciona. Los algoritmos son idénticos, así que mucha gente aprende en uno y compite en el otro. Todos los cursos de estructuras de datos de esta ruta se enseñan en los dos.

¿Qué cursos de esta ruta no se enseñan en C++?

Dos: la programación dinámica y la serie de entrevistas en Python, ambas enseñadas en Python. Aparecen después de los pasos, con un enlace que las abre en Python. Las ideas se trasladan sin cambios: en C++, una tabla de memoización es un std::vector o un std::unordered_map.

¿Necesito saber C++ antes de empezar esta ruta?

Como mínimo, clases, punteros, referencias y std::vector. Si son nuevos para ti, el curso de C++ de Coddy los cubre primero, gratis, y esta ruta continúa donde él termina.

Otras rutas de aprendizaje

Los mismos cursos, ordenados para otro rol. El progreso se conserva: un curso terminado en una ruta cuenta en todas las rutas que lo incluyen.

Todas las rutas de aprendizaje
Ilustración de los lenguajes de programación de Coddy

Empieza la ruta de Estructuras y algoritmos gratis

Empezar a aprender