MAC0338
Análise de Algoritmos
2002 semestre 1
Home | Administração | Fórum | Livros | WWW | Diário | Aulas |
—— Veja www.ime.usp.br/~pf/analise_de_algoritmos ——
"A análise de algoritmos é uma disciplina de engenharia.
Um engenheiro civil, por exemplo,
tem métodos e tecnologia para
prever o comportamento de uma estrutura antes de constuí-la.
Da mesma forma, um projetista de algoritmos
deve ser capaz de
prever o comportamento de um algoritmo antes
de implementá-lo."
- Anônimo
"Ao verificar que um dado programa está muito lento,
uma pessoa prática
pede uma máquina mais rápida ao seu chefe.
Mas o ganho potencial que uma máquina mais rápida pode proporcionar
é tipicamente limitado por um fator de 10,
por razões técnicas ou econômicas.
Para obter um ganho maior,
é preciso buscar melhores algoritmos.
Um bom algoritmo, mesmo rodando em uma máquina lenta,
sempre acaba derrotando
(para instâncias grandes do problema)
um algoritmo pior rodando em uma máquina rápida.
Sempre."
- S. S. Skiena, The Algorithm Design Manual
Programa |
---|
MAC0338 é uma continuação natural de MAC0122 (Princípios de Desenvolvimento de Algoritmos) e MAC0323 (Estruturas de Dados). A disciplina
Eis o programa desta edição de MAC0338:
Carga horária: 4 horas de aulas por semana durante cerca de 15 semanas. MAC0338 é disciplina obrigatória do Bacharelado em Ciência da Computação da USP.
|
Pré-requisitos |
O único pré-requisito oficial é MAC0122. Em particular, supõe-se que o aluno esteja bem familiarizado com algoritmos básicos de ordenação como Mergesort, Heapsort e Quicksort. É recomendável, ainda que não obrigatório, que o aluno já tenha cursado MAC0323 (Estruturas de Dados). Também é desejável que o aluno já tenham cursado ou esteja cursando MAC0328 (Algoritmos em Grafos) e MAE0121 (Introdução à Probabilidade e à Estatística I).
|
Professor |
Paulo Feofiloff, sala 287, bloco A. |