Programación · Curso independiente
Estructuras de Datos desde los fundamentos
Comprende cómo se organizan los datos y elige una estructura por sus operaciones. Implementa arreglos, listas, pilas, colas, árboles, hashing, prioridad y grafos, y comprueba resultados con ejercicios y proyectos.
71 recursos · 6 módulos · Java 21.Necesitas programación básica; las estructuras se explican desde sus fundamentos. Windows, Ubuntu y macOS.
Ruta del curso
Avanza estructura por estructura
Predice, ejecuta y comprueba. Cada recurso tiene anterior, índice y siguiente. Los enlaces a GitHub se abren en una pestaña nueva.
01
10 recursos
Fundamentos, contratos y arreglos
Ver los recursos de este módulo
01 · Tipos abstractos y representaciones →
02 · Referencias, alias y memoria en Java →
03 · Arreglos y región activa →
04 · Implementar un arreglo dinámico →
05 · Genéricos, identidad, igualdad y vistas →
06 · Costos, mejor caso y peor caso →
07 · Crecimiento geométrico y costo amortizado →
08 · Invariantes y oráculos de comprobación →
09 · Búsqueda binaria y precondición de orden →
10 · List, Set y Map: elegir por operación →
02
13 recursos
Listas, pilas, colas y deques
Ver los recursos de este módulo
01 · Nodo simple y cadena →
02 · Lista simple: crear e insertar →
03 · Lista simple: búsqueda y actualización →
04 · Lista simple: eliminación y casos extremos →
05 · Lista simple ordenada y duplicados →
06 · Lista circular y recorrido completo →
07 · Lista doble y consistencia de enlaces →
08 · Pila con arreglo y capacidad fija →
09 · Pila dinámica con nodos →
10 · Dos pilas en un arreglo compartido →
11 · Cola circular con arreglo →
12 · Cola dinámica con frente y fin →
13 · Deque y aplicaciones de pilas y colas →
03
15 recursos
Recursión y árboles de búsqueda
Ver los recursos de este módulo
01 · Recursividad, caso base y progreso →
02 · Árboles: conceptos y representación general →
03 · Árbol binario y árbol binario de búsqueda →
04 · Preorden, inorden y postorden →
05 · BST: buscar y eliminar →
06 · Alturas y factor de balance AVL →
07 · Rotaciones simples LL y RR →
08 · Rotaciones dobles LR y RL →
09 · Inserción AVL y retorno recursivo →
10 · Eliminación AVL y reparaciones sucesivas →
11 · Árboles B: grado mínimo y páginas →
12 · Búsqueda, división e inserción en árbol B →
13 · Eliminación en árbol B: préstamo y fusión →
14 · Árbol B+: separadores y registros en hojas →
15 · Rangos y eliminación en B+ →
04
6 recursos
Hashing, prioridad y prefijos
05
20 recursos
Grafos y algoritmos de conexión
Ver los recursos de este módulo
01 · Grafos: vértices, aristas y caminos →
02 · Matriz de adyacencia →
03 · Listas de adyacencia →
04 · Incidencia y multilistas de aristas →
05 · DFS: recorrido en profundidad →
06 · BFS y ruta mínima en número de aristas →
07 · Componentes y verificación de recorridos →
08 · Grafos ponderados: representación y contrato →
09 · La frontera de Dijkstra y entradas desactualizadas →
10 · Dijkstra: relajación y caminos mínimos →
11 · Reconstrucción de rutas y vértices inaccesibles →
12 · Pesos negativos, límites y pruebas de rutas →
13 · Conjuntos disjuntos: unión y compresión →
14 · Kruskal y árbol de expansión mínimo →
15 · Grafos desconectados y bosques mínimos →
16 · Ruta mínima frente a red mínima →
17 · Floyd–Warshall: programación dinámica →
18 · Ciclos negativos y parejas afectadas →
19 · Selección y comprobación de algoritmos de grafos →
20 · Orden topológico y dependencias →
06
7 recursos
Aplicaciones y proyectos
Ver los recursos de este módulo
01 · Índice espacial k-d y vecino cercano →
02 · SIG: geometría, atributos y topología →
03 · GeoJSON: intercambio y validación →
04 · Agregación en flujo y memoria por grupos →
05 · Chatbot de consulta con máquina de estados →
06 · Proyecto: red, rutas, mapa y conversación →
07 · Proyecto final: catálogo con índices coherentes →
Integración
Dos proyectos para aplicar lo aprendido
Construye un catálogo con índices coherentes y una red ficticia con rutas, bosque mínimo y exportación GeoJSON. Las guías incluyen casos de aceptación y criterios de evaluación.