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.

Avisos

Material

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.

Trabalhos

Os trabalhos devem ser entregues de acordo com as seguintes normas:

Cronograma das Aulas

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