Adloun

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

Exercice suivant et tuteur

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.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →