TDA
Cursada 1C2024 Técnica de diseño de algoritmos UBA (ex Algoritmos y Estructuras de Datos III)
Install / Use
/learn @malei-dc/TDAREADME
Bienvenidos
Si estás en una PC, en el display de cada README (esquina superior derecha) hay un menú donde se mostrarán todas las secciones, que (en las guías prácticas) corresponden a cada ejercicio realizado. Aunque algunos ejercicios fueron consultados en clase, la gran mayoría están sujetos a errores y podrían no estar completamente justificados.
Los entregables y los ej para practicar los hice en c++, para los entregables se podía elegir cualquier lenguaje de programación, solo que en python algún que otro juez no pasaba.
Espero que sea de ayuda :)
Guía de ejercicios
- Práctica 1: Técnicas algoritmicas
- Práctica 2: Dividir y conquistar
- Práctica 3: Introducción a la teoría algorítmica de grafos
- Práctica 4: Recorridos y Árboles
- Práctica 5: Recorrido mínimo
- Práctica 6: Flujo en redes
Clases teóricas
Clases prácticas
Parciales
- 1C2024-1°P (Resuelto)
- 1C2024-2°P (Resuelto)
- 1C2024-1°R (Resuelto - solo el multiple choice)
Entregas
Primera parte
- Argentina - UVA - 11804 (Código - Enunciado) $\rightarrow$ Backtracking
- Murcia's Skyline - UVA - 11790 (Código - Enunciado) $\rightarrow$ Programación Dinámica Top Down
- Equivalent Strings - CodeForces - 559B (Código - Enunciado) $\rightarrow$ Divide y conquista
- Wine trading in Gergovia - SPOJ - GERGOVIA (Código - Enunciado) $\rightarrow$ Greedy
- Doves and bombs - UVA - 10765 (Código - Enunciado) $\rightarrow$ Representación y Recorridos en Grafos (DFS)
Segunda parte
- Lift Hopping - UVA - 10801 (Código - Enunciado) $\rightarrow$ Camino mínimo (Dijkstra)
- King - UVA - 515 (Código - Enunciado) $\rightarrow$ Camino mínimo (Bellman-Ford)
- My T-shirt suits me - UVA - 11045 (Código - Enunciado) $\rightarrow$ Flujos (Edmonds-Karp)
Programa de la materia
Diseño y Análisis de Algoritmos
Contenidos: Técnicas de diseño de algoritmos (backtracking, dividir y conquistar, programación dinámica, algoritmos golosos), análisis de algoritmos recursivos y su complejidad.
Estructuras de Datos y Algoritmos en Grafos
Contenidos: Definiciones básicas y propiedades de grafos, representaciones de grafos (matrices de incidencia y adyacencia, listas), algoritmos de búsqueda (BFS, DFS), árboles y grafos bipartitos.
Algoritmos Avanzados en Grafos
Contenidos: Árboles generadores mínimos, caminos mínimos, flujo máximo, aplicaciones de algoritmos en grafos.
Optimización de Caminos y Flujos en Grafos
Contenidos: Algoritmos para encontrar caminos mínimos (Dijkstra, Ford, Dantzig), flujo máximo (Ford y Fulkerson), análisis de algoritmos de optimización y su aplicación en la resolución de problemas prácticos.
Teoría de Flujos y Aplicaciones Avanzadas
Contenidos: Modelado y solución de problemas mediante teoría de flujos, algoritmos de flujo máximo y mínimo coste, aplicaciones avanzadas en redes de comunicaciones y optimización.
(+info)
Docentes (Turno tarde)
- Min Chih Lin (Prof.)
- Emilio Platzer (Prof.)
- Matías Iglesias (JTP)
- Eric Brandwein (Ay1)
- Ezequiel Companeetz (Ay2)
- Ayelen Dinkel (Ay2)
- Fernando Frassia (Ay2)
- Manuel Nores (Ay2)
- Leandro Raffo (Ay2)
- Alfredo Umfurer (Ay2)
Contribuir
Si ves un error, queres completar/corregir un ejercicio o compartir una mejor resolución en el repo, podes abrir un issue o hacer un pull request sin drama, o incluso me podes mandar mail y con gusto le hecho un ojo. :D
