Documente Academic
Documente Profesional
Documente Cultură
Introduo
Paradigmas
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
1
SCC-214 Projeto de Algoritmos
Por exemplo
Como ordenar um vetor de inteiros?
Como realizar o produto entre n matrizes de
modo que o nmero de operaes seja o
menor possvel?
Problema da mochila
Considere n itens a serem levados para uma
viagem, dentro de uma mochila de capacidade L que
no pode comportar todos os itens. Cada item tem
um peso wi e uma utilidade ci. Quais itens escolher,
de modo que a utilidade total dos itens levados seja
a maior possvel?
2
SCC-214 Projeto de Algoritmos
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
3
SCC-214 Projeto de Algoritmos
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
4
SCC-214 Projeto de Algoritmos
Exerccio:
Qual o menor caminho da cidade a at a c?
5
SCC-214 Projeto de Algoritmos
Exerccio:
TODOS os caminhos so enumerados:
a b c : 21
a b d c : 32
a b f d c : 51
...
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
6
SCC-214 Projeto de Algoritmos
Passos bsicos
1. Dividir o problema a ser resolvido em
subproblemas menores e independentes
2. Encontrar solues para as partes
3. Combinar as solues obtidas em uma
soluo global
7
SCC-214 Projeto de Algoritmos
Exemplos de algoritmos
?
Exemplos de algoritmos
Busca binria
Mergesort, Quicksort
Maior elemento de uma seqncia
Fibonacci recursivo
8
SCC-214 Projeto de Algoritmos
Recursividade
Algoritmos tentativa e erro
Diviso e conquista Luca
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
9
SCC-214 Projeto de Algoritmos
A cada iterao
seleciona um elemento conforme uma funo
gulosa
marca-o para no consider-lo novamente nos
prximos estgios
atualiza a entrada
examina o elemento selecionado quanto a sua
viabilidade
decide a sua participao ou no na soluo
10
SCC-214 Projeto de Algoritmos
Recursividade
Algoritmos tentativa e erro
Diviso e conquista
Programao dinmica
Algoritmos gulosos
Algoritmos aproximados
11
SCC-214 Projeto de Algoritmos
Exemplos?
Exemplos?
Caixeiro viajante (menor caminho entre
cidades)
Traduo automtica
12
SCC-214 Projeto de Algoritmos
Outros paradigmas?
Outros paradigmas?
Induo matemtica
Balanceamento (ou tcnica?)
Algoritmos paralelos
13