Na universidade de
Yale (e em muitos
outros lugares) existem reports que podem servir de inspiração para os
seus relatórios. Eu acho estes
aqui,
aqui e
aqui
legais. Alguns destes relatórios tem uma página de apresentação que
não é necessária para nossa disciplina.
E aqui tem uma checklist pra você saber se está indo por um bom caminho.
Uma micro-classe para desenvolver pilhas está aqui.
Uma micro-classe para desenvolver listas baseadas em vetores.
Uma micro-classe para desenvolver listas encadeadas.
Uma micro-classe para desenvolver árvores genéricas está aqui.
Objetivos
O cumprimento da disciplina busca dar ao aluno, ao final do semestre, condições de:
Conhecer e utilizar as técnicas fundamentais para avaliar a complexidade de algoritmos.
Conhecer e diferenciar as estruturas de dados: listas, filas, pilhas, conjuntos, árvores.
Manipular estas estruturas de dados por meio de algoritmos.
Selecionar e construir estruturas de dados adequadas para aplicações específicas, bem como modelar estas aplicações.
Aplicar algoritmos de ordenação e de pesquisa na solução de problemas.
Ementa
Construção e raciocínio sobre diferentes algoritmos e implementações
para estruturas de dados lineares e hierárquicas: listas, filas,
pilhas e árvores. Exame da adequação destes algoritmos na solução de
diversas classes de problemas. Construção de algoritmos e
implementações para problemas de ordenação e pesquisa. Discussão,
análise e raciocínio sobre a complexidade de algoritmos e
implementações correspondentes.
Uma ótima apresentação de Princeton sobre o comportamento e implementação de pilhas, listas e outras estruturas similares.
Árvores
Um site que possui animações de operações em árvores binárias, AVL e B-trees: aqui .
Um site bem legal com os algoritmos sobre árvores está aqui.
Material simples mas interessante sobre árvores está aqui.
Alguns tutoriais ótimos sobre arvores binárias, árvores AVL e árvores de Andersson estão aqui. O site original não existe mais, mas o archive.org manteve um espelho. Aproveite!!
Ordenação e pesquisa de dados
Um otimo texto sobre hashing sendo usado em criptografia no Unixwiz.