| Avisos |
|
|
Objetivo: O curso tem por objetivo apresentar algoritmos e estruturas de dados básicos para o desenvolvimento de sistemas computacionais. Ao fim do curso os alunos terão conhecimento as principais técnicas utilizadas na implementação de estruturas de dados básicas, algoritmos de ordenação e pesquisa em memória principal. Os alunos estarão também capacitados a efetuar análises simples da complexidade de algoritmos.
Ementa Resumida: Conceitos de algoritmos, estruturas de dados e tipo abstrato de dados. Algoritmos recursivos. Análise de algoritmos. Estrutura de dados na memória principal (lista, fila, pilha, árvore), alocação dinâmica de memória. Algoritmos de ordenação. Algoritmos de pesquisa.
Avaliação: O aluno será avaliado através de:
| Provas e Trabalhos | Datas Previstas |
| Trabalho 0 | 30/08/2006 |
| Prova I | 21/09/2006 |
| Trabalho 1 | 29/09/2006 |
| Trabalho 2 | 08/11/2006 |
| Prova 2 | 09/11/2006 |
| Trabalho 3 | 05/12/2006 |
| Prova 3 | 05/12/2006 |
| Exame Especial | 19/12/2006 |
|
Aula |
Data |
Assunto Previsto |
Material e
Atividades extra-classe |
|
Aula 1 |
03/08 |
Apresentação do curso. |
|
|
Aula 2 |
08/08 |
Conceitos básicos e análise de algoritmos (seções 1.1, 1.2 e 1.3) |
|
|
Aula 3 |
10/08 |
Aula sobre PASCAL no Laboratório (seção 1.5) |
Entrega do TP0 |
|
|
15/08 |
Feriado |
|
|
Aula 4 |
17/08 |
Limite inferior, comportamento assintótico de funções (seções 1.3 e 1.3.1) |
|
|
Aula 5 |
22/08 |
Análise de Algoritmos (seção 1.3.2) |
|
|
Aula 6 |
24/08 |
Análise de Algoritmos (seção 1.4) e Recursividade |
|
|
Aula 7 |
29/08 |
Análise de Algoritmos Recursivos (seção 1.4) e Listas (seção 3.1); Implementação com vetores (seção 3.1.1) |
|
|
Aula 8 |
31/08 |
Lista de Exercícios 1 + Dúvidas |
Entrega TP1 |
|
Aula 9 |
05/09 |
|
|
|
|
07/09 |
Feriado |
|
|
Aula 10 |
12/09 |
Exemplo de implementação com lista |
|
|
Aula 11 |
14/09 |
Filas e Pilhas (seção 3.2 e 3.3) |
|
|
Aula 12 |
19/09 |
Lista de Exercícios 2 + Dúvidas |
|
|
Aula 13 |
21/09 |
Filas e Pilhas (continuação) |
|
|
Aula 14 |
26/09 |
Árvores |
(Aho et al. - seção 3.1; Transparências) |
|
Aula 15 |
28/09 |
Prova 1 |
|
|
Aula 16 |
03/10 |
Exercício de árvores. Algoritmos de ordenação interna: método da bolha (não tem no livro) |
|
|
Aula 17 |
05/10 |
Algoritmos de ordenação interna: métodos de seleção e inserção (seções 4, 4.1.1 e 4.1.2) |
|
|
Aula 18 |
10/10 |
Quicksort Recursivo (seção 4.1.3). |
|
|
|
12/10 |
Feriado |
|
|
Aula 19 |
17/10 |
Quicksort Não-Recursivo e melhorias (não tem no livro); Shellsort (seção 4.1.3) |
Transparências de Quicksort não recursivo; Entrega TP2 |
|
Aula 20 |
19/10 |
Heaps (seção 4.1.5) |
|
|
Aula 21 |
24/10 |
Heaps e Heapsort (seção 4.1.5) |
|
|
Aula 22 |
26/10 |
Aula prática |
|
|
Aula 23 |
31/10 |
Lista de Exercícios 3 + Dúvidas |
|
|
|
02/10 |
Feriado | |
|
Aula 24 |
07/11 |
Algoritmos de Pesquisa: Pesquisa sequencial; pesquisa binária (seções 5.1, 5.2) |
|
|
Aula 25 |
09/11 |
Prova 2 |
|
|
Aula 26 |
14/11 |
Árvore Binária de Pesquisa (seção 5.3.1) |
Entrega TP3 |
|
Aula 27 |
16/11 |
Árvore Binária de Pesquisa (seção 5.3.1) Árvores balanceadas (conceito); |
|
|
Aula 28 |
21/11 |
Entrega e correção da Prova 1 |
|
|
Aula 29 |
23/11 |
Hashing (seções 5.5.1, 5.5.2, 5.5.3) |
|
|
Aula 30 |
28/11 |
Pesquisa Digital - Trie e Patricia (seções 5.4.1 e 5.4.2) |
|
|
Aula 31 |
30/11 |
Lista de Exercícios 4 + Dúvidas |
|
|
Aula 32 |
05/12 |
Prova 3 |
|
|
Aula 33 |
07/12 |
Reserva |
|
|
Aula 34 |
12/12 |
Reserva |
|
|
Aula 35 |
14/12 |
Encerramento |
|
| Monitor | Horáio | Sala |
| Flávio | 2a. feira: 12:30 às 14:30 | 3009b |
| David | 4a. feira: 15 às 17 | 3009b |
| Fabiano | 5a. feira: 14 às 16 | 3004 |
Caso seja necessário atendimento em algum outro horário é necessário marcar antecipadamente (por email) com os monitores.