BCC402 - Algoritmos e Programação Avançada - 2024-2

Carga horária da disciplina: 4 horas/aula


Professor(es) em 2024-2

Turma 11 Professor:
Rafael Alves Bonfim de Queiroz - e-mail

Horários:
Segunda-feira (17h10 - 18h50)
Quarta-feira (17h10 - 18h50)

Objetivos

Esta disciplina abrange conteúdos de programação básica, paradigmas de projeto de algoritmos e técnicas para a codificação rápida de códigos eficientes com uma abordagem prática. São introduzidos ainda conteúdos de aritmética, álgebra e geometria computacional, análise combinatória e teoria dos números, bem como algoritmos avançados em grafos. O conteúdo é abordado através da resolução de pequenos desafios computacionais avançados.
Espera-se que, ao final da disciplina, o aluno esteja apto a identificar as estruturas e os paradigmas adequados para resolução de problemas.

Ementa

Representação de tipos; estruturas de dados; ordenação; cadeias de caracteres; recursividade; tentativa e erro; divisão e conquista; programação dinâmica; algoritmos gulosos; Backtracking; aritmética e álgebra; análise combinatória; teoria dos números; grafos; geometría computacional.

Conteúdo Programático

- Representação de tipos e formas padrões de entrada e saída
- Estruturas de dados: pilhas, filas, listas, dicionários, filas de prioridade
- Grafos e árvores
- Ordenação
- Strings e Bibliotecas C/C++
- Aritmética e inteiros de alta precisão
- Recursividade, tentativa e erro
- Divisão e conquista
- Algoritmos gulosos
- Backtracking
- Programação dinâmica
- Caminho mínimo, fluxo máximo e árvores geradoras
- Segmentos de linha e interseção
- Geometria computacional
- Grades (Grids).

Bibliografia

- SKIENA, Steven S; REVILLA, Miguel A. Programming challenges:  the programming contest training manual. New York: Springer, 2003.
- CORMEN, Thomas H. Algoritmos:  teoria e prática. Rio de Janeiro: Campus, 2002.
- KNUTH, Donald E. The art of computer programming. 2. ed. Reading, Mass.: Addison Wesley, 1973-1981.

Bibliografia complementar

- BOAVENTURA NETTO, Paulo Oswaldo. Grafos: teoria, modelos, algoritmos. 5. ed. rev. ampl. São Paulo: E. Blücher, 2012.
- PREPARATA, Franco P; SHAMOS, Michael Ian. Computational geometry:  an introduction. New York: Springer Verlag, 1985.
- SEDGEWICK, Robert. Algorithms. 4. ed. Upper Saddle River: Addison Wesley, 2011.
- SEDGEWICK, Robert. Algorithms in C++. 3. ed. Boston: Addison Wesley, 1998.
- SEDGEWICK, Robert. Algorithms in Java:  graph algorithms. 3. ed. Boston: Addison Wesley, 2003.

Departamento de Computação  |  ICEB  |  Universidade Federal de Ouro Preto
Campus Universitário Morro do Cruzeiro  |  CEP 35400-000  |  Ouro Preto - MG, Brasil
Telefone: +55 31 3559-1692  |  decom@ufop.edu.br