Programación en java: Estructuras de datos y algoritmos
Domina las estructuras de datos y algoritmos fundamentales en Java: listas, arboles, grafos, ordenación, busqueda y complejidad computacional.
Publicado: 13 de marzo de 2026
Revisión editorial
Ficha de curso revisada por redacción
Resumen editorial basado en la ficha enlazada y en referencias públicas del ámbito formativo · Revisado el 13 de marzo de 2026
Qué comprobar antes de actuar
- Comprueba a qué colectivo va dirigida la convocatoria: desempleados, ocupados, autónomos o perfiles específicos.
- Verifica si la certificación es oficial, de aprovechamiento o solo de asistencia antes de inscribirte.
- Confirma que la duración de 80 horas y la modalidad online encajan con tu disponibilidad real.
- Antes de enviar datos personales, revisa quién gestiona la ficha, el formulario y la documentación exigida.
Fuentes y referencias
- Metodología editorial · Cómo tratamos fichas, convocatorias y enlaces externos.
- Ficha o inscripción enlazada · edx.org
Esta página resume la información disponible en la fuente enlazada. La disponibilidad, el organismo gestor, la certificación y los requisitos pueden variar sin previo aviso; confirma siempre la ficha de destino antes de inscribirte.
Detalles del curso
| Modalidad | online |
| Duración | 80 horas |
| Precio | Gratuito |
| Nivel | Intermedio |
| Certificación | Certificado de Especialización en Programación Java |
| Entidad indicada | edX |
| Acceso | Plataforma MOOC · edx.org |
Consulta la disponibilidad en la entidad
Una ficha publicada no garantiza que queden plazas. Comprueba fechas, selección y condiciones en la convocatoria de destino.
Accede a la ficha de la entidad para comprobar condiciones y solicitar plaza.
El enlace abre una plataforma de formación online donde conviene revisar condiciones, certificación y acceso real al curso.
Ver plataforma del cursoAntes de apuntarte
- Comprueba si la convocatoria está dirigida a desempleados, trabajadores en activo o un colectivo concreto.
- Revisa si la certificación final es oficial, de aprovechamiento o simplemente de asistencia.
- Valora si 80 horas encaja de verdad con tu disponibilidad y con el nivel intermedio.
- Confirma en el portal de acceso quién gestiona la inscripción y qué documentación piden antes de enviar tus datos.
Programación en java: Estructuras de datos y algoritmos
Las estructuras de datos y los algoritmos son los pilares fundamentales de la ciencia de la computación. Dominarlos es lo que distingue a un programador competente de uno excepcional, ya que permiten diseñar soluciones eficientes, escalables y elegantes a problemas computacionales complejos. Java, como uno de los lenguajes más utilizados en la industria, ofrece un marco idóneo para aprender estos conceptos.
Este curso gratuito, de 80 horas, proporciona una formación rigurosa en las estructuras de datos clásicas y los algoritmos fundamentales, implementados en Java. Los participantes no solo aprenderán la teoría, sino que la aplicaran en ejercicios prácticos y proyectos que simulan problemas reales de desarrollo de software, preparándolos para entrevistas técnicas y retos profesionales.
Qué aprenderás en este curso
Al finalizar esta formación serás capaz de:
- Analizar la complejidad temporal y espacial de algoritmos usando notación Big-O
- Implementar y utilizar las principales estructuras de datos lineales y no lineales
- Aplicar algoritmos de ordenación y busqueda eficientes
- Resolver problemas utilizando técnicas algoritmicas avanzadas
- Utilizar las colecciones del Java Collections Framework de forma óptima
- Superar pruebas técnicas de programación en procesos de selección
Programa formativo completo
Módulo 1: Fundamentos y análisis de algoritmos (16 horas)
- Repaso de Java orientado a objetos: clases, herencia, interfaces, generics
- Qué es un algoritmo: definición, propiedades y representación
- Análisis de complejidad: notación Big-O, Omega y Theta
- Complejidad temporal y espacial: mejores, peores y casos promedio
- Recursividad: concepto, pila de llamadas, caso base y recursivo
- Divide y venceras: fundamentos y ejemplos clásicos
- Práctica: análisis de complejidad de algoritmos cotidiaños
Módulo 2: Estructuras de datos lineales (16 horas)
- Arrays y arrays dinámicos: implementación y análisis
- Listas enlazadas: simples, dobles y circulares
- Pilas (stacks): implementación y aplicaciones (parsing, evaluación de expresiones)
- Colas (queues): simples, dobles (deque) y de prioridad
- Java Collections Framework: ArrayList, LinkedList, Stack, Queue, PriorityQueue
- Tablas hash: función hash, colisiones, encadenamiento y direccionamiento abierto
- HashMap, HashSet y TreeMap en Java
- Práctica: resolución de problemas con estructuras lineales
Módulo 3: Arboles y estructuras jerarquicas (16 horas)
- Arboles binarios: terminologia, propiedades y recorridos (inorden, preorden, postorden)
- Arboles binarios de busqueda (BST): inserción, eliminación y busqueda
- Arboles AVL: rotaciones y equilibrio automático
- Arboles rojo-negro y TreeMap de Java
- Heaps: max-heap, min-heap y la clase PriorityQueue
- Tries: almacenamiento eficiente de cadenas
- Arboles B y B+: nociones para bases de datos
- Práctica: implementación de un BST y un heap desde cero
Módulo 4: Grafos y algoritmos avanzados (16 horas)
- Conceptos de grafos: dirigidos, no dirigidos, ponderados, ciclicos
- Representación: listas de adyacencia y matrices de adyacencia
- Recorridos: BFS (anchura) y DFS (profundidad)
- Caminos mínimos: Dijkstra y Bellman-Ford
- Arbol de expansion mínima: Prim y Kruskal
- Deteccion de ciclos y ordenamiento topológico
- Programación dinámica: memoizacion y tabulacion
- Backtracking y algoritmos greedy
Módulo 5: Algoritmos de ordenación, busqueda y proyecto final (16 horas)
- Algoritmos de ordenación básicos: burbuja, selección, inserción
- Algoritmos de ordenación eficientes: mergesort, quicksort, heapsort
- Ordenacion en tiempo lineal: counting sort, radix sort
- Busqueda binaria y sus variantes
- Patrones de problemas: two pointers, sliding window, merge intervals
- Preparación para entrevistas técnicas: estrategias y resolución de problemas
- Proyecto final: desarrollo de una aplicación que útilice múltiples estructuras y algoritmos
A quién va dirigido este curso
Este programa está orientado a:
- Programadores Java junior que deseen consólidar sus fundamentos
- Estudiantes de informática que necesiten reforzar estructuras de datos
- Desarrolladores que se preparen para entrevistas técnicas en empresas tecnológicas
- Profesionales en transición a desarrollo de software que ya conozcan Java básico
- Programadores autodidactas que quieran sistematizar sus conocimientos
- Competidores en programación que busquen mejorar su rendimiento
Requisitos previos
Para aprovechar este curso se necesita:
- Conocimientos sólidos de programación en Java (variables, bucles, funciones, POO)
- Comprension básica de orientación a objetos (clases, herencia, polimorfismo)
- Nociones elementales de matemáticas discretas (no imprescindible pero recomendable)
- JDK instalado y experiencia con un IDE (IntelliJ IDEA, Eclipse o VS Code)
- Conexion a internet para acceder a la plataforma y jueces de programación online
Salidas profesionales y oportunidades laborales
El dominio de estructuras de datos y algoritmos es esencial para:
- Desarrollador de software Java en empresas de todos los tamaños
- Ingeniero de backend en plataformas tecnológicas y fintech
- Desarrollador Android (Java/Kotlin) para aplicaciones móviles
- Ingeniero de datos que diseñe pipelines eficientes
- Desarrollador de sistemas distribuidos en empresas cloud
- SDE (Software Development Engineer) en grandes tecnológicas (FAANG)
El conocimiento de estructuras de datos y algoritmos es el requisito fundamental en los procesos de selección técnica de las principales empresas tecnológicas del mundo.
Cómo acceder a la inscripción
Para acceder a este curso gratuito:
- Visita la web en sepe.es
- Accede a formación para el empleo
- Busca “Programación en Java: Estructuras de Datos y Algoritmos” en el catálogo
- Revisa convocatorias y requisitos
- Rellena la preinscripción
- Adjunta tu CV con detalle de tu experiencia en programación
- Espera la confirmación de admisión
Consulta en tu oficina de empleo los cursos de nuevas tecnologías y programación disponibles.
Preguntas frecuentes
Puedo hacer este curso si programo en otro lenguaje?
El curso requiere conocimientos de Java, ya que todos los ejemplos y ejercicios se implementan en este lenguaje. Sí programas en otro lenguaje (Python, C++, C#), los conceptos de estructuras de datos son transferibles, pero necesitarás familiarizarte con la sintaxis de Java previamente.
Es útil para preparar entrevistas técnicas?
Muy útil. Los contenidos del curso cubren exactamente los temas que se evaluan en entrevistas técnicas de empresas como Google, Amazon, Meta o startups tecnológicas. El módulo 5 incluye estrategias específicas de resolución de problemas y patrones de preguntas frecuentes.
Qué nivel de matemáticas necesito?
Se requiere un nivel básico de matemáticas: comprensión de logaritmos, potencias y nociones de series. No se necesitan matemáticas avanzadas, pero tener familiaridad con matemática discreta (combinatoria, grafos, lógica) fácilita la comprensión de algúnos algoritmos.
Cuántas horas semanales debo dedicar?
Con 80 horas totales, se recomienda dedicar entre 10 y 12 horas semanales durante 7-8 semanas. Las sesiones incluyen teoría, ejercicios de programación y resolución de problemas. Es importante practicar regularmente para interiorizar los patrones algoritmicos.
Se pueden utilizar las soluciones del curso en proyectos profesionales?
Sí. El código desarrollado durante el curso es de tu propiedad y puedes utilizarlo como referencia en tus proyectos. Sin embargo, en entornos profesionales es recomendable utilizar las implementaciones del Java Collections Framework, qué están optimizadas y probadas exhaustivamente.