• Aucun résultat trouvé

Plus courts chemins (2)

N/A
N/A
Protected

Academic year: 2022

Partager "Plus courts chemins (2)"

Copied!
1
0
0

Texte intégral

(1)

Licence Informatique Algorithmique des graphes 2019–2020

Plus courts chemins (2)

Ce document reprend les algorithmes vus au cours. Par convention, ils sont impl´ement´es sous la forme de fonctions avec un nom utilisantcette police. Si vous la voyez apparaˆıtre dans un algorithme, cela signifie donc qu’on fait appel `a un autre algorithme d´ej`a vu.

Algorithme 1 :BellmanFord(G, source)

Entr´ees : un graphe pond´er´e orient´eG, un sommet source.

Sortie : la longueur d’un plus court chemin de la source `a chacun des sommets du graphe (+∞

pour les sommets non accessibles), ounilsi le graphe contient un cycle n´egatif.

1 distances ←tableau(G.nombre sommets(), +∞);

2 distances[source] ←0;

// parcourir chaque arc |V| fois

3 pour iallant de1 `aG.nombre sommets()faire

4 pour chaque(u, v, p)∈G.arcs()faire

5 distances[v] ←min(distances[v], distances[u] +p);

// v´erifier la pr´esence d’un cycle n´egatif

6 pour chaque(u, v, p)∈G.arcs()faire

7 sidistances[v]>distances[u] + palors renvoyernil;

8 renvoyer distances;

Algorithme 2 :FloydWarshall(G) Entr´ees : un graphe orient´e pond´er´eG.

Sortie : la matrice des distances entre toute paire de sommets du graphe.

1 distances ←matrice(G.nombre sommets(),G.nombre sommets(), +∞);

2 pour iallant de0 `aG.nombre sommets()−1faire

3 distances[i][i]←0;

4 pour chaque(u, v, p)∈G.arcs()faire

5 distances[u][v]←p;

// chercher les am´eliorations en passant par k= 0,1,2, . . .

6 pour kallant de0 `aG.nombre sommets()−1faire

7 pour iallant de0 `aG.nombre sommets()−1faire

8 pour j allant de0 `aG.nombre sommets()−1faire

9 distances[i][j]←min(distances[i][j], distances[i][k]+distances[k][j]);

10 renvoyer distances;

Page 1 / 1

Références

Documents relatifs

”Le chemin le plus court d’un point ` a un autre est la ligne droite,. `a condition que les deux points soient bien en face l’un

Optimisation Combinatoire 2A Plus courts chemins. Zolt´

La i -i`eme phase de fabrication peut introduire des d´efauts dans chaque objet avec la probabilit´e α i. On veut qu’` a la fin tous les objets soient

Par convention, ils sont impl´ ement´ es sous la forme de fonctions avec un nom utilisant

Par convention, ils sont impl´ ement´ es sous la forme de fonctions avec un nom utilisant

Ce chapitre présente l’algorithme de Bellman-Ford, qui est lui capable de traiter les graphes possédant des poids négatifs — tant que l’on n’a pas de cycle de poids négatif

Nous présentons ensuite les résultats d'une étude comparant des implémentations efficaces sur PC, appliquées à des graphes de grande taille modélisant des réseaux routiers. Sur

Résumé. — L'application de concepts flous {sous-ensemble flou, fonction de variables floues, graphes flous) à des problèmes de plus courts chemins où les données ne sont connues