Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
les_programmes_a_connaitre:algorithmique_premiere:glouton [2023/01/24 17:39] et |
les_programmes_a_connaitre:algorithmique_premiere:glouton [2023/01/30 08:28] (Version actuelle) et |
||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| ==== C'est quoi un algorithme glouton ? ==== | ==== C'est quoi un algorithme glouton ? ==== | ||
| - | L' | + | L' |
| - | ==== L' | + | |
| + | Pour sa complexité, | ||
| + | |||
| + | ==== L' | ||
| < | < | ||
| Ligne 11: | Ligne 14: | ||
| x : un entier | x : un entier | ||
| - | l : une liste dans l' | + | f : une liste ordonnée |
| r : une liste | r : une liste | ||
| Ligne 18: | Ligne 21: | ||
| ALGORITHME_GLOUTON(x, | ALGORITHME_GLOUTON(x, | ||
| compteur ← 1 | compteur ← 1 | ||
| - | tant que x < 1 ou x > l: | + | tant que x > 0: |
| - | si l[compteur] > x: | + | si f[compteur] > x: |
| compteur ← compteur + 1 | compteur ← compteur + 1 | ||
| sinon: | sinon: | ||
| x ← x - f[compteur] | x ← x - f[compteur] | ||
| - | | + | |
| compteur ← compteur + 1 | compteur ← compteur + 1 | ||
| fin si | fin si | ||
| fin tant que | fin tant que | ||
| - | fin | + | FIN |
| </ | </ | ||
| - | Ci-dessous un exemple d' | + | ====Ci-dessous un exemple d' |
| - | ==== Problème du voleur | + | === Problème du voleur === |
| ^ Objet | ^ Objet | ||
| Ligne 46: | Ligne 49: | ||
| On classe ensuite les objets par ordre décroissant de valeur massique : A - C - B - D | On classe ensuite les objets par ordre décroissant de valeur massique : A - C - B - D | ||
| Enfin, on remplit le sac en prenant les objets dans l' | Enfin, on remplit le sac en prenant les objets dans l' | ||
| - | 1re étape : A (13 Kg) | + | * 1re étape : A (13 Kg) |
| - | 2e étape : C (13+8=21 Kg) | + | |
| - | 3e étape : B (13+8+12=33 Kg) => impossible, on dépasse les 30 Kg. | + | |
| Le sac est donc composé de 2 objets : A et C pour un montant total de 1000 € et une masse totale de 21 Kg. | Le sac est donc composé de 2 objets : A et C pour un montant total de 1000 € et une masse totale de 21 Kg. | ||
| + | |||
| + | On remarque que ce n'est pas la combinaison la plus optimisé, celle-ci serait A,B (1100€ pour 25Kg) et non A,C (1000€ pour 21Kg). | ||
| ======Implémentation en Python====== | ======Implémentation en Python====== | ||