Lo que aprenderás | Sesiones en vivo |
---|---|
Introducción a las estructuras de datos | Descubre para qué sirven y dónde se aplican, explora casos reales y resuelve dudas iniciales. |
Arreglos y listas (arrays y listas dinámicas) | Implementa, manipula y compara sus ventajas/desventajas en ejercicios prácticos. |
Pilas (Stacks): principio LIFO | Desarrolla pilas, practica operaciones push/pop y resuelve problemas clásicos como reversa. |
Colas (Queues): principio FIFO | Implementa colas, trabaja con operaciones de encolado/desencolado, ejemplos de turnos y buffers. |
Listas ligadas (simples y dobles) | Crea listas ligadas, manipula nodos, resuelve inserciones y eliminaciones en vivo. |
Matrices y arreglos multidimensionales | Maneja estructuras para trabajar con tablas, matrices y aplicaciones gráficas simples. |
Árboles (binarios, búsqueda, recorrido) | Implementa árboles, explora usos (expresiones, directorios) y aplica algoritmos de recorrido. |
Tablas hash y diccionarios | Entiende la función hash, colisiones y usa diccionarios para búsquedas rápidas. |
Algoritmos clásicos sobre estructuras | Aplica búsquedas, ordenamientos y recorridos sobre listas y árboles, resolviendo ejercicios guiados. |
Comparación y selección de estructuras | Analiza cuándo usar cada estructura y cómo impacta en el rendimiento de tu programa. |
Proyecto final y retos prácticos | Resuelve un reto integrador usando varias estructuras, recibe retroalimentación personalizada. |
Temario del Curso
1. Introducción a las Estructuras de Datos
1.1 Importancia de las estructuras de datos en la programación
1.2 Análisis de eficiencia: complejidad temporal y espacial (O(n), Big O)
1.3 Cómo se gestionan los datos en memoria en C#
2. Arreglos (Arrays) y Listas Genéricas
2.1 Declaración, inicialización y uso de arrays en C#
2.2 Acceso, modificación y recorrido de elementos
2.3 Limitaciones de los arrays
2.4 Uso de la clase List<T>: ventajas y métodos principales
2.5 Ejercicios prácticos: búsqueda y ordenamiento en arrays y listas
3. Pilas (Stacks)
3.1 Concepto LIFO (Last In, First Out)
3.2 Implementación de pilas usando arrays y usando Stack<T>
3.3 Operaciones principales: Push, Pop, Peek
3.4 Aplicaciones: reversa de cadenas, verificación de expresiones balanceadas
4. Colas (Queues)
4.1 Concepto FIFO (First In, First Out)
4.2 Implementación de colas con arrays y con Queue<T>
4.3 Operaciones principales: Enqueue, Dequeue, Peek
4.4 Aplicaciones: gestión de procesos, simulación de filas, buffers de impresión
5. Listas Ligadas
5.1 Concepto y tipos: simple, doble, circular
5.2 Implementación de una lista ligada simple desde cero (nodos y referencias)
5.3 Métodos básicos: inserción, eliminación, búsqueda, recorrido
5.4 Ventajas y desventajas frente a listas y arrays
5.5 Ejercicio práctico: lista de tareas pendientes
6. Matrices y Arreglos Multidimensionales
6.1 Declaración y uso de matrices bidimensionales y multidimensionales en C#
6.2 Aplicaciones: tablas, tableros de juegos, representación de grafos simples
6.3 Recorridos y operaciones típicas en matrices
7. Árboles
7.1 Concepto de árbol, nodos y ramas
7.2 Árbol binario: definición, inserción, recorrido (preorden, inorden, postorden)
7.3 Aplicaciones: jerarquías, búsqueda eficiente
7.4 Introducción a árboles de búsqueda binaria (BST)
8. Tablas Hash y Diccionarios
8.1 Concepto de función hash y resolución de colisiones
8.2 Uso de Dictionary<TKey, TValue> en C#
8.3 Ventajas de las búsquedas rápidas
8.4 Ejemplo: contar frecuencia de palabras en un texto
9. Algoritmos Clásicos sobre Estructuras
9.1 Búsqueda secuencial y binaria
9.2 Ordenamientos básicos (burbuja, selección, inserción)
9.3 Recorridos y búsquedas en árboles
10. Selección de Estructuras y Buenas Prácticas
10.1 Comparación y análisis: ¿cuándo usar cada estructura?
10.2 Impacto de las estructuras en el rendimiento
10.3 Refactorización y optimización de código usando estructuras de datos
Actualmente no hay grupos abiertos para inscripción.