ÁREA DE ESTUDIO / DISPONIBLE

Estructuras de datos

TAD, recursividad, complejidad, listas, pilas, colas, heaps, hash, árboles y grafos implementados en Java con invariantes y pruebas.

  • TAD y complejidad
  • Estructuras lineales
  • Árboles y hash
  • Grafos y recorridos
12
secciones
36
lecciones
36
ejercicios resueltos
RUTA DE APRENDIZAJE

Avanza una sección
a la vez.

Empieza por la primera y continúa en orden. Cada sección incluye tres lecciones, ejemplos claros y respuestas desplegables.

01 / Estructuras de datos · Sección 1↗

Java, TAD y contratos

El modelo de Java necesario para distinguir interfaz, implementación y representación; referencias, genéricos, composición e invariantes de un tipo abstracto de datos.

  • Java y referencias
  • TAD, interfaz e invariante
  • Genéricos e Iterable
3 lecciones3 ejercicios
02 / Estructuras de datos · Sección 2↗

Recursividad y pila de llamadas

Caso base, reducción del problema, registros de activación y diseño de soluciones recursivas correctas antes de escribir código.

  • Caso base y progreso
  • Pila de llamadas
  • Recursión sobre arreglos y nodos
3 lecciones3 ejercicios
03 / Estructuras de datos · Sección 3↗

Eficiencia y notación Big O

Cómo contar operaciones, reconocer órdenes de crecimiento y comparar tiempo, memoria y costo amortizado con entradas de distinto tamaño.

  • Tiempo y espacio
  • Big O
  • Costo amortizado
3 lecciones3 ejercicios
04 / Estructuras de datos · Sección 4↗

Arreglos y listas enlazadas

Representaciones contigua y enlazada, nodos, recorridos, inserción, eliminación e iteradores con sus costos y casos frontera.

  • Arreglo dinámico
  • Lista enlazada
  • Iteradores y elección
3 lecciones3 ejercicios
05 / Estructuras de datos · Sección 5↗

Pilas: último en entrar, primero en salir

El contrato LIFO, push, pop y peek; implementaciones con arreglo o nodos y aplicaciones como deshacer, llamadas y validación de delimitadores.

  • LIFO y operaciones
  • Implementaciones
  • Aplicaciones de Stack
3 lecciones3 ejercicios
06 / Estructuras de datos · Sección 6↗

Colas y arreglos circulares

El contrato FIFO, frente y final; por qué desplazar elementos es costoso y cómo los índices circulares reutilizan el arreglo sin mover datos.

  • FIFO
  • Cola enlazada
  • Buffer circular
3 lecciones3 ejercicios
07 / Estructuras de datos · Sección 7↗

Heaps y colas de prioridad

Propiedad del heap, representación en arreglo, ascenso y descenso para priorizar trabajo sin ordenar toda la colección.

  • Heap binario
  • Subir y bajar
  • PriorityQueue
3 lecciones3 ejercicios
08 / Estructuras de datos · Sección 8↗

Tablas hash y diccionarios

Funciones hash, factor de carga, colisiones, direccionamiento abierto, encadenamiento y el contrato entre equals y hashCode.

  • Tabla hash y factor de carga
  • Colisiones
  • Map y claves seguras
3 lecciones3 ejercicios
09 / Estructuras de datos · Sección 9↗

Árboles y recorridos

Raíz, nodos, altura y subárboles; recorridos preorden, inorden, postorden y por niveles relacionados con recursión, pila y cola.

  • Árbol binario
  • DFS en árboles
  • Recorrido por niveles
3 lecciones3 ejercicios
10 / Estructuras de datos · Sección 10↗

Árboles binarios de búsqueda

Invariante de orden, búsqueda, inserción, eliminación en sus tres casos y efecto de la altura sobre el rendimiento.

  • Invariante ABB
  • Buscar e insertar
  • Eliminar y balancear
3 lecciones3 ejercicios
11 / Estructuras de datos · Sección 11↗

Grafos y representaciones

Vértices, aristas, dirección y peso; matrices frente a listas de adyacencia y modelado de redes reales sin perder semántica.

  • Vértices y aristas
  • Matriz de adyacencia
  • Lista de adyacencia
3 lecciones3 ejercicios
12 / Estructuras de datos · Sección 12↗

DFS, BFS y proyecto final

Recorridos en profundidad y amplitud, componentes conexas en grafos no dirigidos, caminos mínimos sin peso y una biblioteca Java comprobada mediante invariantes, pruebas y mediciones.

  • DFS
  • BFS
  • Proyecto y pruebas
3 lecciones3 ejercicios