Projeto e Análise de Algoritmos (2025-2)

Monitoria (Adrielly Vitória Costa de Lima)

  • Entrar em contato diretamente com a monitora via Teams para fazer o agendamento de dúvidas.

Plano de Ensino (pdf)

Objetivos

Compreender os fundamentos teóricos para a análise de algoritmos por meio de ferramentas matemáticas que permitam a construção de soluções eficientes para problemas usuais nas aplicações computacionais. Ao final do curso o aluno dever ser capaz de:

  1. Analisar a complexidade, quanto aos recursos de tempo e espaço, de algoritmos utilizando a análise assintótica;
  2. Provar a correção de algoritmos;
  3. Conhecer os paradigmas de divisão e conquista, algoritmos gulosos e programação dinâmica para projetos de algoritmos;
  4. Compreender os fundamentos da teoria de NP-completude.

Conteúdo programático

  • Fundamentos matemáticos para a análise de algoritmos;
    • Indução;
    • Crescimento de funções;
    • Notação assintótica;
    • Relações de recorrência.
  • Análise assintótica de algoritmos;
  • Paradigmas de projeto de algoritmos;
    • Projeto por indução;
    • Divisão e conquista;
    • Programação dinâmica;
    • Algoritmos gulosos.
  • Fundamentos de complexidade computacional.
    • Redução entre problemas;
    • As classes P e NP;
    • Problemas NP-completos.

Metodologia de ensino

O conteúdo será abordado por meio de aulas expositivas estruturadas da seguinte forma:

  1. Leituras dirigidas;
  2. Exercícios semanais (via Teams);
  3. Avaliações escritas.

Avaliação

A avaliação será composta das seguintes partes:

  1. Duas provas escritas individuais e sem consulta:
    1. Prova 1 (01/out/2025) - 40 pontos;
    2. Prova 2 (03/dez/2025) - 40 pontos;
  2. Exercícios semanais - 20 pontos;
  3. Projeto (opcional) - 20 pontos .

Para ser aprovado o aluno deve cumprir simultaneamente os seguintes itens:

  • Frequência maior ou igual a 75%;
  • Obter pelo menos 50 pontos no total.

A menção final é definida como a seguir:

Menção Pontos
SS (Superior) 90 – 100
MS (Médio Superior) 70 – 89
MM (Médio) 50 – 69
MI (Médio Inferior) 30 – 49
II (Inferior) 01 – 29
SR (Sem Rendimento) 00 ou mais de 25% de faltas

Notas de aulas (pdf). Última atualização: [2025-11-13 qui 11:42]

Cronograma

Aula Data Assunto Arquivos
1 [2025-08-18 seg] Introdução e Motivação  
2 [2025-08-20 qua] A correção de algoritmos  
3 [2025-08-25 seg] Invariantes de laço  
4 [2025-08-27 qua] Notação assintótica  
5 [2025-09-01 seg] Exercícios  
6 [2025-09-03 qua] Equações de recorrência pdf
7 [2025-09-08 seg] A Torre de Hanoi hanoi.v
8 [2025-09-10 qua] O Teorema Mestre (parte 1)  
9 [2025-09-15 seg] O Teorema Mestre (parte 2)  
10 [2025-09-17 qua] O Teorema Mestre (parte 3)  
11 [2025-09-22 seg] Quicksort  
12 [2025-09-24 qua] Exercícios  
13 [2025-09-29 seg] Revisão para a Prova 1 pdf, gabarito
14 [2025-10-01 qua] Prova 1 gabarito
15 [2025-10-06 seg] Heapsort (parte 1) pdf
16 [2025-10-08 qua] Heapsort (parte 2)  
17 [2025-10-13 seg] Proposta do projeto pdf
18 [2025-10-15 qua] Ordenação em Tempo Linear  
19 [2025-10-20 seg] Programação Dinâmica (parte 1)  
20 [2025-10-22 qua] Programação Dinâmica (parte 2)  
--- [2025-10-27 seg] Ponto facultativo  
--- [2025-10-29 qua] Paralisação docente  
--- [2025-11-03 seg] Semana Universitária  
--- [2025-11-05 qua] Semana Universitária  
21 [2025-11-10 seg] NP-completude  
22 [2025-11-12 qua] NP-completude  
23 [2025-11-17 seg] NP-completude  
24 [2025-11-19 qua] NP-completude  
25 [2025-11-24 seg] NP-completude  
26 [2025-11-26 qua] NP-completude  
27 [2025-12-01 seg] Revisão para a Prova 2  
28 [2025-12-03 qua] Prova 2  

DONE Aula 19

Tema da aula: Programação Dinâmica

Material didático: Capítulo 9 das Notas de aulas

TODO Aula 20

Tema da aula: Programação Dinâmica

Material didático: Capítulo 9 das Notas de aulas

Quadro de Notas

Notas das provas

A tabela a seguir contém as notas das provas (considerando a pontuação máxima de 10 pontos).

  Matrícula Prova 1(10) Prova 2(10)
1 170100332 9.0  
2 180136780    
3 190025069 1.0  
4 190030526 7.0  
5 190095229    
6 190108665 6.0  
7 200016997 1.5  
8 200025937 4.0  
9 200040979 4.0  
10 202037622 7.0  
11 202042829 4.0  
12 211042701 2.0  
13 211066196 4.0  
14 212005220 4.0  
15 221001972 8.0  
16 221002049 2.5  
17 221002067 1.0  
18 221002100 10.0  
19 221003968 2.5  
20 221017023 9.5  
21 221017060 9.0  
22 221017079 1.0  
23 221017088 9.0  
24 221030007 10.0  
25 221030016 10.0  
26 221030034 7.5  
27 221038005 9.0  
28 222001387 7.5  
29 222031116    
30 231003380 8.0  
31 231003513 10.0  
32 231006239 9.5  
33 231006248    
34 231006257 2.0  
35 231011650 3.5  
36 231013529 7.0  
37 231013547 7.0  
38 231018884 10.0  
39 231021496 6.0  
40 231025190 5.0  
41 231025216 7.0  
42 232007830 7.0  
43 232012974 4.0  
44 232029274 6.0  
45 242009918 9.5  

Date: 01 de outubro de 2025

Author: Flávio L. C. de Moura

Email: flaviomoura@unb.br

Created: 2025-11-13 qui 11:43