Instrutor: Joao Meidanis, meidanis at unicamp dot br
Segundas, 19:00-21:00. Quartas, 21:00-23:00. Horário
Segundo Semestre, 2023
Esta é a primeira disicplina de análise de algoritmos de seu curso de computação. Aqui estudaremos quatro grande tópicos:
Para falar com o instrutor, é só marcar um horário através de email. Os monitores estarão disponíveis para tirar dúvidas e resolver exercícios nos seguintes horários:
Quartas-feiras, 18:00 - 19:00, sala 55 do IC-02
MC458A | Projeto e Análise de Algoritmos I | 2023 | 2o. Semestre | |
PROGRAMAÇÃO PRELIMINAR | Última edição: 2023-11-03 | |||
Dia | Data | Atividade | Referência | Exercícios |
seg | 31/jul | Introdução | ||
qua | 02/ago | Conceitos de análise de algoritmos | Cormen | 1.2-2, 1.2-3, 1-1, 2.1-3, 2.1-4, 2.2-2, 2-1 |
seg | 07/ago | Mergesort; Teste | Cormen | 2.2-3, 2.3-3, 2.3-5, 2.3-6, 2.3-7 |
qua | 09/ago | Crescimento de funções | Cormen | 3.1-3, 3.1-4, 3-1a, 3-2, 3-3, 3-4 |
seg | 14/ago | SECOMP | ||
qua | 16/ago | SECOMP | ||
seg | 21/ago | Ferramenta: diferenças finitas | Milne | p.135.5, p282.1 a 4, p290.1,2,3,6 |
qua | 23/ago | Ferramenta: recorrências; Teste | Cormen | p291.9,10,13, 4.1-2, 4.1-5, 4.2-2, 4.2-4, 4.2-5 |
seg | 28/ago | Ferramenta: Teorema Mestre | Cormen | 4.3-1, 4.3-2, 4.3-4, 4.3-5, 4-1, 4-3(b), 4-4 |
qua | 30/ago | Prova | ||
seg | 04/set | Entendendo indução | Ferreira | 2.1, 2.4, 2.7, 2.9 |
qua | 06/set | Polinômios; ordenação topológica | Manber | 2.12, 2.15, 2.18 |
seg | 11/set | Função 1-1; Teste | Manber | 2.19, 2.21 |
qua | 13/set | Celebridade | Manber | 5.6, 5.12, 5.14, 5.15 |
seg | 18/set | Emparelhamento | Manber | 5.25(a), 6.14, 6.21 |
qua | 20/set | Viés de árvore binária; Teste | Manber | 6.22, 6.23 |
seg | 25/set | Par mais próximo | Manber | 6.24, 6.25 |
qua | 27/set | Prova | ||
seg | 02/out | Mergesort; Heapsort | Cormen, Manber | 6.1-4, 6.1-5, 6.2-1, 6.2-2, 6.2-3, 6.34 |
qua | 04/out | Heapsort | Cormen, Manber | 6.2-4, 6.2-6, 6.4-3, 6.4-4, 6.4-5, 6.11, 6.29 |
seg | 09/out | Greve | ||
qua | 11/out | Greve | ||
seg | 16/out | Greve | ||
qua | 18/out | Greve | ||
seg | 23/out | Greve | ||
qua | 25/out | Greve | ||
seg | 30/out | Quicksort; Lower bound | Cormen | 7.2-2, 7.2-3, 8.1-1 |
qua | 01/nov | Counting sort; Radix sort | Cormen | 8.2-1, 8.2-4, 8.3-3 |
seg | 06/nov | Bucketsort; Máximo e mínimo; Teste online | Cormen | 8.4-1, 8.4-2, 8-3(a), 9.1-1 |
qua | 08/nov | Mediana e k-ésimo em tempo linear | Cormen | 9.3-3, 9.3-5, 9.3-7, 9.3-8, 9.3-9, 9-1 |
seg | 13/nov | Subsequência mais longa; Teste online | Cormen | 15.4-1, 15.4-2, 15.4-3, 15.4-4, 15.4-5, 15.4-6 |
qua | 15/nov | Feriado; Aula gravada: Mochila; Huffman | Cormen | 16.2-4, 16.2-5, 16.3-1 |
seg | 20/nov | Feriado; Aula gravada: Produto de matrizes | Cormen | 15.2-1, 15.2-2, 15.2-3 |
qua | 22/nov | Prova | ||
seg | 27/nov | Árvore binária de busca ótima; Teste online | Cormen | 15.5-1, 15.5-2, 15.5-3 |
qua | 29/nov | Seleção de atividades | Cormen | 16.2-3 |
seg | 04/dez | Coloração de intervalos; Teste online | ||
qua | 06/dez | Prova | ||
seg | 11/dez | |||
qua | 13/dez | Exame |
Haverá quatro Provas (P1, P2, P3 e P4) nas datas indicadas no programa. Cada Prova será em classe, nos horários normais de aula, sem exceção, terá duração de 100 minutos e receberá nota entre 0,0 e 10,0.
Haverá oito Testes (T1, T2, T3, T4, T5, T6, T7, T8), também em classe, na segunda metade da aula, aos quais serão atribuídas notas também entre 0,0 e 10,0. Excepcionalmente, em função de disrupções imprevisíveis no andamento do semestre, alguns testes poderão ser feitos remotamente.
Não serão ministrados provas ou testes antecipados nem substitutivos.
A Média dos Testes (MT) será a média aritmética
MT := (T1 + T2 + T3 + T4 + T5 + T6 + T7 + T8) / 8.
A Média das Provas (MP) será a média ponderada
MP := (1xP1 + 2xP2 + 2xP3 + 4xP4) / 9.
A Média Semestral (MS) será calculada da seguinte forma:
Se min { MT; MP } ≥ 5,0
então MS := (MT + 4 MP) / 5
senão MS := min { 4,9; (MT + 4 MP) / 5 }
A Média Final (MF) será calculada da seguinte forma:
Se 2,5 ≤ MS < 5,0onde E é a nota obtida pelo aluno no Exame Final.
então MF := (MS + E) / 2
senão MF := MS
Um aluno com 2,5 ≤ MS < 5,0 poderá tomar o Exame Final; se não o fizer, vamos adotar E = 0 na fórmula acima; alunos com MS < 2,5 ou com MS ≥ 5,0 não poderão fazer o Exame Final.
Serão aprovados os alunos que obtiverem Média Final (MF) maior que ou igual a 5,0; os demais serão reprovados.
Os testes serão realizados em sala de aula, na segunda metade da aula, e consistirão de um ou mais exercícios para serem feitos em dupla (excepcionalmente poderá haver uma tripla na classe) e entregues até o final da aula.
Qualquer tentativa de fraude neste curso implicará nota igual a zero para todos os envolvidos, com possível sanções adicionais, conforme julgado necessário pela administração da universidade.
B. Obama. Campanha na sede do Google. Mountain View, 2009. Conhecer algoritmos pode ajudar na hora de uma entrevista. Veja como uma pessoa que não é da área, com um pouco de conhecimento sobre bubble-sort, conseguiu angariar votos importantes para chegar à presidência de uma grande nação.
A. K. Agassi. Open: An Autobiography. Vintage Books, 2010. Andre Agassi odiava tênis e mesmo assim foi um dos maiores tenistas de todos os tempos. Se você detesta teoria, ainda assim pode se dar bem nesta matéria. Leia o livro para ver como ele fez.
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein. Introduction to Algorithms (2nd edition). The MIT Press, 2001.
W. E. Milne. Cálculo numérico (2a edição). Polígono, 1968.
J. Ferreira. Induzindo a um bom entendimento do Princípio da Indução Finita. VI Encontro Capixaba de Educação Matemática, 2002.
U. Manber. Using induction to design algorithms. Communications of the ACM, 31(11) 1300-1313, 1988.
U. Manber. Introduction to Algorithms: A Creative Approach. Addison-Wesley, 1989.
J. Kleinberg e E. Tardos. Algorithm design. Pearson/Addison-Wesley, 2006.
G. Brassard e P. Bratley. Algorithmics: theory and practice. Prentice-Hall, 1995.
A. Aho, J. Hopcroft e J. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1975.
N. Ziviani. Projeto de Algoritmos (2a edição). Thomson, 2004.
J. Szwarcfiter e L. Markenson. Estruturas de Dados e seus Algoritmos. LTC Editora, 1994.
algorithm Icon By Yuri Mazursky, RU, from Noun Project.