Estruturas de Dados I

Segundo trimestre de 2008

Horário alfa: 2a (19-21), 4a (21-23)

Sala: S 305, L 506 (bloco B)

Email do professor: jeronimo.pellegrini ufabc edu br

Novidades:

03/09 -- Notas finais disponíveis
28/08 -- Notas parciais disponíveis
19/08 -- Exemplos de questões que poderiam compor a prova disponíveis
16/08 -- Slides da última aula estão disponíveis (procure nesta página por "slides")
11/08 -- *** Lista de exercícios 8 (processamento de cadeias) disponível ***
11/08 -- Nova referência recomendada sobre casamento de cadeias (página web, por Christian Charras e Thierry Lecroq)
07/08 -- Notas de alguns exercícios disponíveis
27/07 -- *** Lista de exercícios 7 (busca digital) disponível ***
25/07 -- *** Lista de exercícios 6 (árvores B) disponível ***
25/07 -- Dentro do exercício 4 há mais um link de referência para consulta
25/07 -- *** Lista de exercícios 5 (árvores AVL e B) disponível ***
22/07 -- Exercício 4 teve o prazo adiado
21/07 -- *** Lista de exercícios 4 (árvores) disponível ***
18/07 -- Local da monitoria atualizado
18/07 -- Breve guia para desenvolvimento em C/Unix
18/07 -- Especificação PARCIAL dos trabalhos disponível
17/07 -- Seção sobre o trabalho adicionada
17/07 -- Duas indicações de livros (Dasgupta&Papadimitriou&Vazirani; Mehlhorn&Sanders)
08/07 -- Notas da P1 disponíveis
30/06 -- Prova adiada para segunda, 07/07
26/06 -- *** Lista de exercícios 3 (ordenação) disponível ***
26/06 -- Alguns exemplos de questões de prova
22/06 -- Link para o dicionário de algoritmos e estruturas de dados do NIST
21/06 -- Segunda lista de exercícios (heaps)
19/06 -- Lista de exercícios entregues
14/06 -- Horário de monitoria definido
06/06 -- Primeira lista de exercícios (linguagem C)
06/06 -- Cronograma modificado (não houve aula no dia 04/06, e a ordem dos tópicos foi alterada)

Ementa

Introdução à linguagem de programação C++. Estruturas lineares. Algoritmos de ordenação em estruturas lineares. Algoritmos de busca em estruturas lineares. Árvores.

Dinâmica do curso

A primeira aula começa com questões administrativas e segue com noções de programação em C.

Nas outras aulas, recomendo fortemente que o aluno leia algum dos textos de referência sobre o assunto a ser tratado!

Cópias em provas ou trabalhos resultam em conceito F na disciplina.

Avaliação

A avaliação tem quatro componentes:

A nota final é a média dos quatro componentes: (P1+P2+T+E)/4

O conceito final será dado de acordo com a tabela mostrada no primeiro dia de aula.

Notas

Veja as notas.

Exercícios / mini-trabalhos

Veja alguns exemplos de questões que poderiam compor a prova. É interessante fazer como exercício, claro.

Agora há também exemplos de questões para a segunda prova.

Exercícios entregues

Veja a tabela com os exercícios entregues.

Programa

Este é um programa aproximado! O ritmo pode mudar e aulas podem mudar de ordem durante o curso. As colunas de referências indicam uma fonte para o conteúdo de cada aula. Veja os slides da aula extra (sobre programação funcional).

Trabalhos

Veja as especificações dos trabalhos.

Monitoria

O monitor da disciplina é Fernando Henrique Sanches. Ele ficará na sala 304 no laboratório 506 (bloco B) segundas e quartas-feiras das 14:00 as 19:00.

Ferramentas

Aqui está um breve projeto-de-texto (versão -1), ainda desconexo e estranho, que pode servir de guia para o desenvolvimento de programas em C/Unix, para quem acostumou-se com o mundo Java.

Usem os compiladores e ambientes que preferirem, desde que os programas sejam limitados à linguagem C padrão! Eu compilarei os programas usando o GCC em Linux.

Sugestão de ferramentas em ambiente Linux ou Unix:

Bibliografia

Os três primeiros livros (Cormen et al, Ziviani, Szwarcfiter&Markenzon) são as referências principais para a matéria.

Linguagem C:

Veja também