Vous êtes sur la page 1sur 4

20/2/2016

AlgorithmedeDijkstra

E.W.Dijkstra(19302002)aproposen1959unalgorithmequipermetdedterminerlepluscourt
chemin entre deux sommets d'un graphe connexe pondr (orient ou non) dont le poids li aux
artesestpositifounul.
EXEMPLE

Le graphe cidessous reprsente le rseau routier d'une rgion qui prend en compte le sens de la
circulation,chaquearcreprsenteuneroutesensuniquedontlepoidsestladistanceenkilomtre
entredeuxsommets.Quelestl'itinrairelepluscourtquirelieES?

D'aprsdocumentd'accompagnementdesprogrammesdeMathmatiquesClasseterminaledelasrieES

ALGORITHMEDEDIJKSTRA

L'algorithmedDijkstraestbassurleprincipesuivant:
SilepluscourtcheminreliantESpasseparlessommets s1 , s2 ,, sk alors,lesdiffrentes
tapessontaussilespluscourtscheminsreliantEauxdiffrentssommetss1 ,s2 ,,sk .
On construit de proche en proche le chemin cherch en choisissant chaque itration de
l'algorithme, un sommet si du graphe parmi ceux qui n'ont pas encore t traits, tel que la
longueurconnueprovisoirementdupluscourtcheminallantdeEsi soitlapluscourtepossible.
INITIALISATIONDEL'ALGORITHME:

tape1:Onaffectelepoids0ausommetorigine(E)etonattribueprovisoirementunpoidsaux
autressommets.
RPTERLESOPRATIONSSUIVANTESTANTQUELESOMMETDESORTIE(S)N'ESTPAS
AFFECTD'UNPOIDSDFINITIF

1.tape2:Parmilessommetsdontlepoidsn'estpasdfinivementfixchoisirlesommetX
depoidspminimal.MarquerdfinitivementcesommetXaffectdupoidsp(X).
2.tape 3 : Pour tous les sommets Y qui ne sont pas dfinitivement marqus, adjacents au
derniersommetfixX:
CalculerlasommesdupoidsdeXetdupoidsdel'artereliantXY.
Si la somme s est infrieure au poids provisoirement affect au sommet Y,
affecter provisoirement Y le nouveau poids s et indiquer entre parenthses le
sommetXpoursesouvenirdesaprovenance.
QUANDLESOMMETSESTDFINTIVEMENTMARQU

http://yallouz.arie.free.fr/terminale_cours/graphes/dijkstra.php

1/4

20/2/2016

AlgorithmedeDijkstra

LepluscourtchemindeESs'obtientencrivantdegauchedroiteleparcoursenpartantdela
finS.

VOUSPOUVEZOBSERVERLEDROULEMENTDEL'ALGORITHMEDEDIJKSTRAPASPASENCLIQUANTSUR
LESBOUTONS

Pourfaciliterlarecherchedupluscourtcheminilestcommodedeprsenterlesrsultatsdansun
tableau

http://yallouz.arie.free.fr/terminale_cours/graphes/dijkstra.php

2/4

20/2/2016

AlgorithmedeDijkstra

Sommetslectionnet
commentaires

E de poids 0 on marque les


sommetsadjacentsA,BetC

5(E)

3(E)

2(E)

C on selectionne les sommets


adjacentsGetF,onlesmarque
provisoirementG(2+3)etF(2+2)

5(E)

3(E)

4(C)

5(C)

B le sommet adjacent A est


affect d'un poids gal 4
(3+1<5)

A le sommet D va tre marqu


provisoirementavecunpoids6=
4+2

4(B)

4(C)

5(C)

6(A)

4(C)

5(C)

F le sommet adjacent D sera


affect d'un poids gal 5
(4+1<6) le sommet S va tre
marqu provisoirement avec un
poids10=4+6

5(F)

5(C)

10(F)

D on conservera le poids de S
(5+7>10)

5(C)

10(F)

G le sommet adjacent est dj


trait

10(F)

Pour dterminer le trajet le plus court on remonte les sommets en partant de S : S vient de F qui
vientdeCquivientdeE.
LepluscourtcheminestECFS,ladistanceparcourueestde10km.
VOTRETOUR

http://yallouz.arie.free.fr/terminale_cours/graphes/dijkstra.php

3/4

20/2/2016

AlgorithmedeDijkstra

Danslegraphe pondr cidessous, les poids des artes sont dtermins de manre alatoire. Un
papieruncrayon,etvrifiezvosrsultats...

VOUSPOUVEZVRIFIERLEDROULEMENTDEL'ALGORITHMEDEDIJKSTRAPASPASENCLIQUANTSURLES
BOUTONS.

http://yallouz.arie.free.fr/terminale_cours/graphes/dijkstra.php

4/4