Nivelamento de conhecimentos em programação de computadores, algoritmos e estrutura de dados no Ministério da Defesa
Professor: Lincoln Canabrava
E-mail: lincoln.canabrava@defesa.gov.br
Plano de ensino
Nivelar os conhecimentos em estruturas de dados fundamentais, incluindo lineares (listas encadeadas, pilhas e filas) e não lineares (árvores e grafos), além dos algoritmos básicos para sua manipulação e aplicações práticas. Introduzir conceitos de complexidade algorítmica e técnicas para comparar o tempo de execução dos algoritmos estudados. Destacar a importância de selecionar estruturas de dados e algoritmos adequados para resolver problemas de forma eficiente.
Conteúdo
- introdução a algoritmos e estrutura de dados
- entrada, processamento e saída
- números, cadeias de caracteres e objetos
- estruturas de seleção
- estruturas de repetição
- funções
- listas
- conjuntos
- tabelas de dispersão
- busca e ordenação
- busca digital
- fila e pilha
- lista ligada
- listas de prioridades
- processamento de cadeias
- árvores
- árvores binárias de busca
- árvores balanceadas
- grafos
Bibliografia
- CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e prática.
2a. edição. Rio de Janeiro, RJ: Campus, 2002.
- KNUTH, D. E. The art of computer programming. Upper Saddle River, USA: Addison-
Wesley,2005.
- SEDGEWICK, R. Algorithms in C: parts 1-4 (fundamental algorithms, data structures, sorting,
searching). Reading, USA: Addison-Wesley, 1998.
Ferramentas
Listas de exercícios