Ir al contenido
Módulo 5

STL y Algoritmos

Domina la Biblioteca Estandar de Plantillas (STL) — contenedores, iteradores, algoritmos, ranges y programacion funcional.

Contenedores

  1. Contenedores de Secuencia: vector, deque, list, array

    Explora los contenedores de secuencia en la STL — vector, deque, list, forward_list y array. Aprende sus compromisos de rendimiento, disposiciones de memoria y reglas de invalidacion de iteradores.

  2. Contenedores Asociativos: map, set, unordered_map

    Aprende sobre contenedores asociativos ordenados y no ordenados — maps, sets y sus variantes multi- y unordered. Comprende cuando elegir arboles vs tablas hash.

  3. Adaptadores de Contenedores y Contenedores Especiales

    Aprende sobre stack, queue, priority_queue y tipos de vocabulario modernos como span, string_view y optional. Comprende cuando los adaptadores simplifican tu codigo.

Iteradores y Algoritmos

  1. Iteradores: El Pegamento de la STL

    Comprende las categorias de iteradores, desde iteradores de entrada hasta iteradores contiguos. Aprende la aritmetica de iteradores, la convencion begin/end y como los iteradores conectan contenedores con algoritmos.

  2. Algoritmos STL: El Poder de <algorithm>

    Domina los algoritmos STL mas importantes — desde busqueda y ordenamiento hasta transformacion y acumulacion. Aprende como los algoritmos se componen con iteradores para codigo expresivo y eficiente.

  3. Lambdas y Programacion Funcional

    Domina las lambdas de C++ — listas de capturas, lambdas mutables, lambdas genericas y su uso como predicados de algoritmos. Aprende std::function, std::invoke y el patron IIFE.

Ranges y Views (C++20)

  1. C++20 Ranges: Un Nuevo Paradigma

    Descubre los ranges de C++20 — un rediseno moderno de la interfaz de algoritmos de la STL. Aprende conceptos de range, algoritmos basados en ranges, proyecciones y el operador pipe para transformaciones de datos componibles.

  2. Views, Evaluacion Perezosa y Composicion

    Domina las views de C++20 — adaptadores de rango ligeros y perezosos que se componen con el operador pipe. Aprende filter, transform, take, drop, split, join, iota y como construir potentes pipelines de datos sin asignaciones intermedias.