CI065 - Algoritmos e Teoria dos Grafos

Segundo semestre de 2007

sala:

PH11 - 4ª e 6ª 15:30-17:30

Sumário:      Conteúdo -- Bibliografia -- Avaliação -- Listas de exercícios -- Programa -- Calendário -- Notas -- Monitoria -- provas de outros semestres

Conteúdo:

Objetivos: Dar aos alunos noções de teoria dos grafos e apresentar o seu uso na resolução de problemas.
Pré-requisito: CI057 - Algoritmos e Estruturas de Dados III (obrigatório)
CI237 - Matemática Discreta (fortemente recomendado)
Carga horária: 60 Créditos: 4 Responsável: Jair.

Bibliografia básica:

  1. Graph Theory, R. Diestel. (Capítulo 1)
  2. Há um link para livro em pdf
    aqui.
  3. Graph Theory with applications, A. Bondy e U.S.S.R. Murty. (Capítulos 1 --- 6)
  4. O livro está disponível em pdf aqui
  5. Algorithms in C, R. Sedgewick. (Capítulos 29 --- 34). (Biblioteca)
  6. Bibliografia complementar:

  7. Introduction to Algorithms, Cormen, Leiserson, Rivest e Stein (Capítulos 22, 23 e 24). (Biblioteca)
  8. Graph Theory, F. Harary. (Biblioteca)
  9. Grafos e Algoritmos Computacionais, J.L. Szwarcfiter. (Biblioteca)
  10. Grafos: Teoria, Modelos, Algoritmos, P.O. Boaventura Neto. (Biblioteca)
  11. Data Structures and Algorithms, A.V. Aho, J.E. Hopcroft, J.D. Ullman. (Biblioteca)

Avaliação

São 3 provas regulares com conteúdo cumulativo mais uma prova final sobre toda a matéria.

Listas de exercícios

As listas não são obrigatórias e não valem nota, porém você pode enviar algumas de suas soluções para serem corrigidas. Para ter um retorno até a data da prova recomendo que entregue com pelo menos 15 dias de antecedência.
Exercícios Tema
lista 1 definições iniciais e grau
lista 2 subgrafos, grafos bipartidos, isomorfismo
lista 3 representação computacional
lista 4 percurso
lista 5 caminhos e circuitos
lista 6 caminhos mínimos algoritmo de dijkstra
lista 7 caminhos mínimos algoritmo de bellman-ford
lista 8 grafos conexos
lista 9 grafos biconexos
lista 10 árvores
lista 11 árvores geradoras de custo mínimo
lista 12 emparelhamento, emparelhamento em grafos bipartidos, algoritmo de Edmonds.

Calendário

 


Programação das aulas:
aula 01 - Grafos.  
aula 02 - Grau. 
aula 03 - Subgrafos.
aula 04 - Grafos bipartidos. Corte. Isomorfismo. 
aula 05 - Representação computacional.
aula 06 - Percursos em grafos. Busca em largura e Busca em profundidade. 
aula 07 - Análise do algoritmo de percurso.
aula 08 - Aula de exercícios.

aula 09 -- PROVA

aula 10 - Correção da prova. 
aula 11 - Caminhos e circuitos. 
aula 12 - Caminhos e circuitos orientados em grafos dirigidos. Caminhos mínimos em grafos dirigidos com pesos nas arestas.  função de relaxação.
aula 13 - Algoritmo de Dijkstra. 
aula 14 - Algoritmo de Bellman-Ford.
aula 15 - Grafos conexos. Grafos biconexos.
aula 16 - Algoritmo para determinar articulações.
aula 17 - Aula de exercícios.

aula 18 - PROVA


aula 19 - Correção da prova.
aula 20 - Árvores e Florestas. 
aula 21 - Árvores geradoras de custo mínimo.  Algoritmo de Prim. 
aula 22 - Emparelhamentos.
aula 23 - Emparelhamentos em grafos bipartidos.
aula 24 - Teorema de Hall. 
aula 25 - Algoritmo de Edmonds. 
aula 26 - Emparelhamentos em grafos bipartidos com pesos nas arestas. 
aula 27 - Grafos Hamiltonianos.
aula 28 - Grafos Eulerianos.
aula 29 - Aula de exercícios. 

aula 30 - PROVA

Horário da monitoria:


Provas de semestres anteriores

  • P1 2004-2
  • Final 2004-2
  • P2 2005-1
  • Final 2005-1
  • Final 2005-2
  • 2a. chamada 2005-1
  • P1 2005-2
  • 2a. chamada 2005-2
  • P2 2005-2
  • P3 2005-2
  • P1 2002-2
  • P2 2003-1
  • Final 2006-1
  • P1 2006-1
  • P2 2006-1
  • P3 2006-1 gabarito
  • Final 2006-1 gabarito
  • P1 2007-1
  • P2 2007-2