algorithmique (école d'ingénieur) · Chapitre 5 · Exercice de TD
Chemin de coût minimum
Chemins de valeur optimale · niveau 1 (application)
Énoncé
Les valeurs de la grille sont maintenant des coûts positifs (temps de traversée d'une parcelle). Adapter le programme du robot pour calculer un chemin de coût minimum de à , et l'exécuter sur
Faut-il changer autre chose que des en ?
Corrigé
Le raisonnement est identique, en remplaçant les par des : , la première ligne et la première colonne se cumulent, et
Il faut aussi changer le choix du prédécesseur (la case de plus petite valeur ) et, le cas échéant, la valeur des cases impossibles ( au lieu de ). Rien d'autre : les coûts positifs ne posent aucun problème particulier.
for (int l = 1; l < L; l++)
for (int c = 1; c < C; c++)
M[l][c] = Math.min(M[l - 1][c], Math.min(M[l - 1][c - 1], M[l][c - 1])) + G[l][c];
ligne 2 : [6, 10, 9, 7]
ligne 1 : [5, 10, 6, 13]
ligne 0 : [1, 4, 5, 7]
Coût minimum 7 : (0,0)->(0,1)->(1,2)->(2,3)
Le chemin emprunte deux diagonales pour éviter la case de coût .
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours, le premier QCM et 2 minutes de podcast et de vidéo. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.