Curso: Algoritmos y Estructuras Discretas

Profesor: José H. Nieto

Materiales de apoyo

Todo el material que se presenta a continuación está en formato PDF y se puede leer e imprimir con el programa Adobe Reader, que se puede descargar gratuitamente de aquí:

Ejercicios

Notas de clase

Notas sobre Teoría de Grafos (361 kb).

Notas sobre Redes de Flujo (162 kb).

Contenido sinóptico del curso

  1. Unidad I: Grafos y digrafos. Definiciones y ejemplos. Caminos y ciclos. Distancia entre dos vértices y diámetro de un grafo. Subgrafos. Grafos conexos. Grafos acíclicos. Árboles. Árboles enraizados: definición recursiva. Representación de grafos mediante matrices de adyacencia, matrices de incidencia y listas de adyacencia. Complejidad en tiempo de un algoritmo: peor caso y caso promedio. Notación O grande.
  2. Unidad II: Recorrido de grafos y digrafos: primero en profundidad y primero en amplitud. Distancias más cortas de un vértice a todos los demás. Algoritmo de Dijkstra. Distancias más cortas entre todos los vértices. Algoritmo de Floyd. Clausura transitiva: Algoritmo de Warshall. Aplicaciones de la búsqueda en profundidad en digrafos: prueba de aciclicidad, clasificación topológica y determinación de las componentes fuertemente conexas.
  3. Unidad III: Componentes conexas. Puntos de articulación. Componentes biconexas. Árboles de extensión de costo mínimo. Algoritmo de Prim. Algoritmo de Kruskal.
  4. Unidad IV: Redes de flujo. Cortes: flujo neto y capacidad. Flujo máximo: método de Ford-Fulkerson. Algoritmo de Edmonds-Karp. Aplicación: Pareos máximos en grafos bipartitos.

Bibliografía