Algoritmos e Programação de Computadores II
Prof. MSc. Leanderson André
leandersonandre@univille.br
Universidade da Região de Joinville

Algoritmos gulosos utilizam a estratégia de low hanging fruit.
Exemplo: moedas = {1,2,5}, alvo = 12.
Escolhido a moeda: 5 (restante: 7)
Escolhido a moeda: 5 (restante: 2)
Escolhido a moeda: 2 (restante: 0)
Solução ótima encontrada: 3 moedas.
Exemplo: moedas = {1,3,4}, alvo = 6.
Escolhido a moeda: 4 (restante: 2)
Escolhido a moeda: 1 (restante: 1)
Escolhido a moeda: 1 (restante: 20)
Solução encontrada. 3 moedas
Solução ótima: 2 moedas ( 3 + 3).
Dado um conjunto de atividades = {a1, a2, …, an}, em que cada atividade possui um horário de início e término, encontre o maior subconjunto de atividades que podem ser realizadas sem que haja sobreposição de horários.
Exemplo: considere as seguintes atividades:
| Atividade | Início | Término |
|---|---|---|
| A | 1 | 4 |
| B | 3 | 5 |
| C | 0 | 6 |
| D | 5 | 7 |
| E | 8 | 9 |
| F | 5 | 9 |
Qual é o maior número de atividades que podem ser realizadas sem sobreposição de horários?
3 atividades
A (1–4) + D (5–7) + E (8–9)
| Atividade | Início | Término |
|---|---|---|
| A | 1 | 4 |
| B | 3 | 5 |
| C | 0 | 6 |
| D | 5 | 7 |
| E | 8 | 9 |
| F | 5 | 9 |
Dado um conjunto de itens = {i1, i2, …, in}, em que cada item possui um peso e um valor associado, e uma mochila com capacidade máxima de peso, determine a quantidade de cada item que deve ser colocada na mochila para maximizar o valor total transportado, permitindo que os itens sejam divididos em frações.
Exemplo: considere os seguintes itens e uma mochila com capacidade máxima de 50 kg:
| Item | Peso (kg) | Valor (R$) | Valor por kg (R$/kg) |
|---|---|---|---|
| A | 10 | 60 | 6 |
| B | 20 | 100 | 5 |
| C | 30 | 120 | 4 |
Qual é a melhor combinação de itens, considerando que eles podem ser divididos em frações, para maximizar o valor total transportado sem ultrapassar a capacidade da mochila?
Valor máximo: R$ 240,00
A (10 kg) + B (20 kg) + 2/3 de C (20 kg)
| Item | Peso (kg) | Valor (R$) | Valor por kg (R$/kg) | Quantidade utilizada |
|---|---|---|---|---|
| A | 10 | 60 | 6 | 100% |
| B | 20 | 100 | 5 | 100% |
| C | 30 | 120 | 4 | 66,67% |
Capacidade utilizada: 50 kg
Valor total: R\$60 + R\$100 + R\$80 = R$ 240,00
Prof. MSc. Leanderson André
leandersonandre@univille.br
Universidade da Região de Joinville