|
Par
Traize
Mise à jour : 06/01/2009
398 visites depuis 7 jours,
classé 269/786
|
) : l'algorithme de Dijkstra.
).
!
.
), Edsger de son prénom. Pour plus d'informations, vous pouvez consulter sa fiche sur Wikipédia, mais pour faire court, il a notamment trouvé cet algorithme du chemin le plus court, et a beaucoup participé au développement de langages tels l'ALGOL ou fait avancer les méthodes de programmation en se battant contre l'usage du GOTO en faveur d'une structure If - Then - Else à travers un article qu'il nomma "A case against the GOTO statement".
.
).
).
).| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | -1 | Non |
| Bordeaux | -1 | Non |
| Brest | 0 | Non |
| Lyon | -1 | Non |
| Marseille | -1 | Non |
| Montpellier | -1 | Non |
| Nantes | -1 | Non |
| Paris | -1 | Non |
| Poitiers | -1 | Non |
| Strasbourg | -1 | Non |
| Noeud | Antécédent du noeud |
|---|---|
| Arras | Aucun |
| Bordeaux | Aucun |
| Brest | Aucun |
| Lyon | Aucun |
| Marseille | Aucun |
| Montpellier | Aucun |
| Nantes | Aucun |
| Paris | Aucun |
| Poitiers | Aucun |
| Strasbourg | Aucun |
1 2 3 4 5 6 7 8 9 10 11 | SI ( le noeud-fils n'a pas encore été parcouru )
ET QUE ( Poids(Noeud-père) + Poids(Liaison Noeud-père/Noeud-fils) < Poids(Noeud-fils) ) OU Poids(Noeud-fils) = -1
{
Poids(Noeud-fils) = Poids(Noeud-père) + Poids(Liaison Noeud-père/Noeud-fils)
Antecedent(Noeud-fils) = Noeud-Père
} |
.1 2 3 | SI ( le noeud-fils n'a pas encore été parcouru ) ET QUE ( Poids(Noeud-père) + Poids(Liaison Noeud-père/Noeud-fils) < Poids(Noeud-fils) ) OU Poids(Noeud-fils) = -1 |
1 | SI ( le noeud-fils n'a pas encore été parcouru ) |
).1 | Poids(Noeud-père) + Poids(Liaison Noeud-père/Noeud-fils) < Poids(Noeud-fils) |
1 2 3 | Poids(Noeud-fils) = Poids(Noeud-père) + Poids(Liaison Noeud-père/Noeud-fils) Antecedent(Noeud-fils) = Noeud-Père |
!
.| Noeud | Antécédent du noeud |
|---|---|
Arras |
Nantes |
Bordeaux |
Nantes |
Brest |
Nantes |
Lyon |
Paris |
Marseille |
Aucun |
Montpellier |
Poitiers |
Nantes |
Aucun |
Paris |
Nantes |
Poitiers |
Bordeaux |
Strasbourg |
Arras |
?
, ça deviendrait carrément indispensable...
, c'est pour ça que nous allons voir un exemple concret pas à pas. Ne vous inquiétez pas, par souci d'ouverture, c'est un exemple n'utilisant aucun langage, que ce soit le C, le PHP, etc. (je suis gentil, hein ?
).
| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | -1 |
Non |
| Bordeaux | 0 |
Non |
| Brest | -1 |
Non |
| Lyon | -1 |
Non |
| Marseille | -1 |
Non |
| Montpellier | -1 |
Non |
| Nantes | -1 |
Non |
| Paris | -1 |
Non |
| Poitiers | -1 |
Non |
| Strasbourg | -1 |
Non |
| Noeud | Antécédent du noeud |
|---|---|
| Arras | Aucun |
| Bordeaux | Aucun |
| Brest | Aucun |
| Lyon | Aucun |
| Marseille | Aucun |
| Montpellier | Aucun |
| Nantes | Aucun |
| Paris | Aucun |
| Poitiers | Aucun |
| Strasbourg | Aucun |
| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | -1 |
Non |
| Bordeaux | 0 |
Oui |
| Brest | -1 |
Non |
| Lyon | -1 |
Non |
| Marseille | -1 |
Non |
| Montpellier | -1 |
Non |
| Nantes | 334 |
Non |
| Paris | -1 |
Non |
| Poitiers | 237 |
Non |
| Strasbourg | -1 |
Non |
| Noeud | Antécédent du noeud |
|---|---|
| Arras | Aucun |
| Bordeaux | Aucun |
| Brest | Aucun |
| Lyon | Aucun |
| Marseille | Aucun |
| Montpellier | Aucun |
| Nantes | Bordeaux |
| Paris | Aucun |
| Poitiers | Bordeaux |
| Strasbourg | Aucun |
| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | -1 |
Non |
| Bordeaux | 0 |
Oui |
| Brest | -1 |
Non |
| Lyon | -1 |
Non |
| Marseille | -1 |
Non |
| Montpellier | 794 |
Non |
| Nantes | 334 |
Non |
| Paris | 575 |
Non |
| Poitiers | 237 |
Oui |
| Strasbourg | -1 |
Non |
| Noeud | Antécédent du noeud |
|---|---|
| Arras | Aucun |
| Bordeaux | Aucun |
| Brest | Aucun |
| Lyon | Aucun |
| Marseille | Aucun |
| Montpellier | Poitiers |
| Nantes | Bordeaux |
| Paris | Poitiers |
| Poitiers | Bordeaux |
| Strasbourg | Aucun |
| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | 895 |
Non |
| Bordeaux | 0 |
Oui |
| Brest | 632 |
Non |
| Lyon | -1 |
Non |
| Marseille | -1 |
Non |
| Montpellier | 794 |
Non |
| Nantes | 334 |
Oui |
| Paris | 575 |
Non |
| Poitiers | 237 |
Oui |
| Strasbourg | -1 |
Non |
| Noeud | Antécédent du noeud |
|---|---|
| Arras | Nantes |
| Bordeaux | Aucun |
| Brest | Nantes |
| Lyon | Aucun |
| Marseille | Aucun |
| Montpellier | Poitiers |
| Nantes | Bordeaux |
| Paris | Poitiers |
| Poitiers | Bordeaux |
| Strasbourg | Aucun |
).
.| Noeud | Antécédents du noeud |
|---|---|
| Arras | Paris |
| Bordeaux | Aucun |
| Brest | Nantes |
| Lyon | Paris |
| Marseille | Montpellier |
| Montpellier | Poitiers |
| Nantes | Bordeaux |
| Paris | Poitiers |
| Poitiers | Bordeaux |
| Strasbourg | Arras |
| Nom du noeud | Poids | Déjà parcouru ? |
|---|---|---|
| Arras | 760 |
Oui |
| Bordeaux | 0 |
Oui |
| Brest | 632 |
Oui |
| Lyon | 1040 |
Oui |
| Marseille | 965 |
Oui |
| Montpellier | 794 |
Oui |
| Nantes | 334 |
Oui |
| Paris | 575 |
Oui |
| Poitiers | 237 |
Oui |
| Strasbourg | 1282 |
Oui |
) :
) ;
.
.