Devido à pandemia do COVID-19 e seguindo as diretrizes de Ifes, essa disciplina
está, temporariamente, suspensa.
Plano de Ensino
- Carga Horária: 60h
- Aulas Previstas:
72
Objetivos
Objetivo Geral
Construir sistemas de computação modelando-os como abstrações formuladas a partir de
funções ou dados, maximizando a modularidade e os níveis de refinamento das soluções.
Objetivos Específicos
- Desenvolver o “sentimento” de quais são os elementos que compõem o estilo e a
estética da programação; e a “percepção” de que programas são escritos
primariamente para serem lidos por pessoas e apenas eventualmente executados
por máquinas.
- Identificar técnicas de ordenação apropriadas para solução de problemas.
- Dominar as principais técnicas para controle de complexidade de sistemas
grandes.
- Ser capaz de ler, entender e interpretar, programas escritos em estilo
adequado.
- Desenvolver algoritmos através de divisão modular e refinamentos sucessivos.
Ementa
Estruturas de acesso direto: Tabela Hash. Estrutura de dados não-lineares:
árvore binária, árvore binária ordenada, árvore binária ordenada balanceada
(AVL), caminhamento em árvores. Grafos. Introdução a Análise de complexidade de
algoritmos.
Referências Bibliográficas
- Thomas H. Cormen; Charles E. LEISERSON; Ronald L. Rivest; Clifford Stein.
“Algoritmos: Teoria e Prática.” 3ª ed. Editora Campus: Rio de Janeiro –
RJ, 2012.
- Paul Deitel; Harvey Deitel. “C: Como programar.” 6ª ed. Pearson: São
Paulo – SP, 2011.
- Aaron M. Tenembaum. “Estrutura de dados usando C.” Makron Books: São
Paulo – SP, 1995.