Información general
Este es un curso avanzado de análisis y diseño de
algoritmos. Es el último curso de programación en la carrera de
Ingeniería de Sistemas y se enfatiza en los grafos y muchos de sus
problemas asociados: árboles abarcadores mínimos, caminos mínimos,
puntos de corte, ordenamiento topológico, redes de flujo,
emparejamientos, etc..
Bibliografía
- Tejiendo Algoritmos -
Leandro Rabindranath Leon
- Estructura de datos y algoritmos - Alfred V. Aho, John
E. Hopcroft, Jefrey D. Ullman - Addison-Wesley
Iberoamericana: Sistemas Técnicos de Edición,
1988. ISBN 968-6048-19-7
- Graph Theory and Its Applications - Gross and Yellen - Chapman and
Hall/CRC. ISBN: 978-1584885054
- Algorithms in C, Part 5: Graph Algorithms, 3rd Edition - Sedgewick -
Addison-Wesley Professional. -10: 0-201-31663-3
- Combinatorial Optimization: Algorithms and Complexity - Christos
H. Papadimitriou and Kenneth Steiglitz - Dover Publications. ISBN-10:
0486402584
- Introduction to Algorithms - Thomas H. Cormen, Charles
E. Leiserson, Ronald L. Rivest, Clifford Stein - The MIT
Press - ISBN-10: 0262033844
Todos las estructuras de datos y algoritmos enseñados en este curso
están disponibles en la biblioteca
Aleph.
Últimas noticias
- 4/2/2011: Notas
definitivas aquí
- 13/2/2011: Notas 3er parcial (y de los demás)
aquí
- 16/12:2010: Notas 2do
parcial aquí
- 12/12/2010: el semestre pasado, a efectos de probar y estar seguro
de que solicitaba un proyecto factible, me dediqué unas tres semanas,
en mis ratos libres, a codificar mi propia versión del proyecto. Es
sólo un prototipo y no minimiza el coste, pero hacerlo es fácil. Los
fuentes están aquí.
- 11/12/2010: /
- 10/12/2010:
proyecto aquí -
Versión pdf -
Fuentes dot de
graphviz
Programa
- Repaso a estrcuturas de datos y estructuras avanzadas
- Heaps
- Treaps
- Árboles AVL
- Análisis amortizado
- La técnica
- Árboles splay
- Introducción a los grafos
- Estructuras de datos para representar grafos en memoria
- Recorridos sobre grafos
- En profundidad y en amplitud
- Prueba de conectividad
- Prueba de aciclicidad
- Detección y búsqueda de caminos
- Puntos de articulación
- Grafos dirigidos
- Fundamentos: conectividad, inversión
- Clausura transitiva - algoritmo de Warshall
- Cálculo de componentes fuertemente conexos
- Algoritmo de Kosaraju
- Algoritmo de Tarjan}
- Prueba de aciclicidad
- Cálculo de ciclos
- Digrafos acíclicos
- Planificación de tareas
- Ordenamiento topológico
- Árboles abarcadores mínimos
- Algoritmo de Kruskal
- Algoritmos de Prim
- Caminos mínimos
- Algoritmo de Dijkstra
- Algoritmo de Floyd-Warshall
- Algoritmo de Bellman-Ford
- Detección de ciclos negativos
- Cálculo de ciclos negativos
- Redes de flujo
- Definiciones fundamentales, múltiples fuentes/sumideros, corte
de red, semi-camino, caminos de aumento
- Algoritmos de flujo máximo
- Ford-Fulkerson
- Edmonds-Karp
- Empuje y preflujo
- FIFO
- HEAP
- Aleatorio
- Reducciones y aplicaciones
- Flujo en redes no dirigidas
- Capacidades en los nodos
- Flujo realizable
- Emparejamiento bipartito máximo
- Circulaciones
- Conectividad de grafos mediante redes de flujo
- Flujos de coste mínimo
- Algoritmos basados en eliminación de ciclos negativos
- Simplex para redes de flujo
- Aplicaciones
- Transporte
- Trasbordo
- Asignación de trabajos
- Caminos mínimos
Evaluación
Las evaluaciones, con sus porcentajes sobre la nota definitiva entre
paréntesis, son las siguientes:
- Tres exámenes parciales (50 %): se elimina la peor calificación
- Primer parcial: 19 de octubre de
2010 - notas
- Segundo parcial: 25 de noviembre de 2010
- notas
- 1 proyecto (50 %)
- Nota apreciativa (15 %)
- Asistencia (2 %)
Otros