Na primeira parte desta disciplina vamos estudar e aplicar técnicas de projeto e análise de algoritmos. Na segunda parte vamos estudar os conceitos, representações e problemas clássicos relacionados com grafos.
Veja o programa e o critério de avaliação da disciplina.
Os alunos desta disciplina devem inscrever-se no grupo uem-tgaa para receberem informações e discutirem o conteúdo da disciplina. Por favor, use o seu nome verdadeiro na lista para o professor poder identificá-lo.
O livro base para esta disciplina é Algoritmo: Teoria e Prática, 2ª edição.
Os materiais utilizados em sala de aula estão disponíveis para download logo abaixo. O estudo utilizando apenas este material não é suficiente para o acompanhamento da disciplina. Recomendamos a leitura das referências no final de cada apresentação e a resolução (por parte do aluno) de todos os exercícios listados no material.
Os trabalhos devem ser entregues de acordo com as seguintes normas:
| Dia(s) | Conteúdo |
|---|---|
| 06, 08 e 10/02 | Exemplo prático da importância do projeto e análise de algoritmos. (download) |
| 13/02 | Capítulo 1: Introdução. Capítulo 2: ordenação por inserção - corretude. |
| 15/02 | Capítulo 2: Ordenação por inserção - análise do tempo de execução. |
| 17/02 | Capítulo 2: Ordenação por intercalação. |
| 24/02 | Capítulo 3: Crescimento de funções - notação assintótica. |
| 27/02 | Exercícios do capítulo 2. |
| 29/02 | Capítulo 3: Crescimento de funções - notações padrão e funções comuns. |
| 02/03 | Exercícios do capítulo 3. Indução. |
| 05/03 | Capítulo 4: Recorrências - método da substituição. |
| 07/03 | Não houve aula. Paralisação. |
| 09/03 | Capítulo 4: Recorrências - método da árvore de recursão. |
| 12/03 | Capítulo 4: Recorrências - método mestre. |
| 14/03 | Exercícios sobre recorrências. |
| 16/03 | Capítulo 6: Heapsort. |
| 19/03 | Capítulo 7: Quicksort. |
| 21/03 | Capítulo 8: Ordenação em tempo linear - ordenação por contagem. |
| 23/03 | Exercícios. |
| 26/03 | Exercícios. |
| 28/03 | Capítulo B.4: Introdução a teoria dos grafos. |
| 30/03 | Avaliação 1 - parte a. |
| 02/04 | Capítulo 22: Algoritmos elementares de grafos - representação. |
| 04/04 | Capítulo 22: Algoritmos elementares de grafos - busca em largura. |
| 09/04 | Capítulo 22: Algoritmos elementares de grafos - busca em largura. |
| 11/04 | Capítulo 22: Algoritmos elementares de grafos - busca em profundidade. |
| 13/04 | Capítulo 22: Algoritmos elementares de grafos - busca em profundidade. |
| 16/04 | Capítulo 22: Algoritmos elementares de grafos - ordenação topológica. |
| 18/04 | Capítulo 22: Algoritmos elementares de grafos - componentes fortemente conexos. |
| 20/04 | Capítulo 22: Algoritmos elementares de grafos - exercícios. |
| 23/04 | Capítulo 24: Caminhos mais curtos de única origem - Bellman-Ford. |
| 25/04 | Avaliação 1 - parte b. |
| 27/04 | Capítulo 24: Caminhos mais curtos de única origem - Gaos. |
| 30/04 | Capítulo 24: Caminhos mais curtos de única origem - Exercícios |
| 02/05 | Capítulo 24: Caminhos mais curtos de única origem - Dijkstra. |
| 04/05 | Capítulo 24: Caminhos mais curtos de única origem - Exercícios |
| 07/05 | Capítulo 25: Caminhos mais curtos de todos os pares - Floyd-Warshall |
| 09/05 | Não houve aula. |
| 11/05 | Não houve aula. |
| 14/05 | Não houve aula. Aniversário de Maringá. |
| 16/05 | Capítulo 23: Árvores espalhadas mínimas. Algoritmo de Kruskal. |
| 18/05 | Capítulo 23: Árvores espalhadas mínimas. Algoritmo de Prim. |
| 21/05 | Exercícios. |
| 23/05 | Exemplo de implementação. |
| 25/05 | Exemplo de implementação. |
| 28/05 | Teoria da complexidade. |
| 30/05 | Problema do Caixeiro Viajante. |
| 01/06 | Implementação do trabalho. |
| 04/06 | Problema do Carteiro Chinês. |
| 06/06 | Implementação do trabalho. |
| 08/06 | Implementação do trabalho. |
| 11/06 | Avaliação 2 |
| 13/06 | Correção do trabalho. |
| 15/06 | Correção do trabalho. |
| 27/06 | Avaliação Final |