Skip to content
/ TDA Public

Cursada 1C2024 Técnica de diseño de algoritmos UBA (ex Algoritmos y Estructuras de Datos III)

Notifications You must be signed in to change notification settings

malei-dc/TDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Clases teóricas

Clases prácticas

Parciales

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