































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
08 ATAL - Análise e Técnicas de Algoritmos UFCG
Tipologia: Notas de estudo
1 / 39
Esta página não é visível na pré-visualização
Não perca as partes importantes!
































Problemas que podem apresentar diversas soluções só nos interessa a melhor solução (solução ótima)
uma alternativa para resolver...
a cada momento escolher o número máximo daquele valor (que não ultrapasse o valor total) quando não for mais possível, passar a próxima moeda na ordem 100c (1 dollar) 25c 10c 5c 1c total: US$ 2,89 (289c)
uma alternativa para resolver...
a cada momento escolher o número máximo daquele valor (que não ultrapasse o valor total) quando não for mais possível, passar a próxima moeda na ordem 100c (1 dollar) 25c 10c 5c 1c (^2) total: US$ 2,89 (289c)
uma alternativa para resolver...
a cada momento escolher o número máximo daquele valor (que não ultrapasse o valor total) quando não for mais possível, passar a próxima moeda na ordem 100c (1 dollar) 25c 10c 5c 1c (^2) total: US$ 2,89 (289c) 3 1
uma alternativa para resolver...
a cada momento escolher o número máximo daquele valor (que não ultrapasse o valor total) quando não for mais possível, passar a próxima moeda na ordem 100c (1 dollar) 25c 10c 5c 1c (^2) total: US$ 2,89 (289c) 3 1 0
uma alternativa para resolver...
a cada momento escolher o número máximo daquele valor (que não ultrapasse o valor total) quando não for mais possível, passar a próxima moeda na ordem 100c (1 dollar) 25c 10c 5c 1c (^2) total: US$ 2,89 (289c) 3 1 0 4 Nos dá a solução ótima Estratégia greedy (gulosa)
6c 4c 1c
6c 4c 1c
6c 4c 1c
6c 4c 1c
CalculaTroco(total) C ← {100, 25, 10, 5, 1} S ← ∅ soma ← 0 while soma ≠ total do X ← maior valor de C | soma + X ≤ total if item não existe then return sem solução S ← S ∪ {uma moeda de valor X} soma ← soma + X return S
Lista de Candidatos CalculaTroco(M) C ← {100, 25, 10, 5, 1} S ← ∅ soma ← 0 while soma ≠ M do X ← maior valor de C | soma + X ≤ M if item não existe then return sem solução S ← S ∪ {uma moeda de valor X} soma ← soma + X return S