Skip to content
Snippets Groups Projects
Verified Commit 49279c0f authored by orestis.malaspin's avatar orestis.malaspin
Browse files

finished dijkstra. need to do floyd

parent d483be52
No related branches found
No related tags found
No related merge requests found
...@@ -523,31 +523,15 @@ distance, précédent dijkstra(graphe, s, t): ...@@ -523,31 +523,15 @@ distance, précédent dijkstra(graphe, s, t):
![Le corrigé partie 6.](figs/dijkstra_ex_5.png) ![Le corrigé partie 6.](figs/dijkstra_ex_5.png)
# Complexité de l'algorithme de Dijkstra? # Limitation de l'algorithme de Dijkstra
\footnotesize ## Que se passe-t-il pour?
![Exemple.](figs/exemple_neg.png){width=50%}
## Quel est le problème?
. . . . . .
```C * L'algorithme n'essaiera jamais le chemin `s->x->y->v` et prendra direct `s->v`.
distance, précédent dijkstra(graphe, s, t): * Ce problème n'apparaît que s'il y a des poids négatifs.
distance[source] = 0
fp = file_p_vide()
----------------------------------------------
pour v dans sommets(graphe)
si v != s
O(V) distance[v] = infini
fp = enfiler(fp, v, distance[v])
----------------------------------------------
tant que !est_vide(fp)
O(V) u, fp = défiler(fp)
----------------------------------------------
pour v dans voisinage de u
O(E) n_distance = distance[u] + w(i, v)
si n_distance < distance[v]
distance[v] = n_distance
fp = changer_priorité(fp, v, n_distance)
----------------------------------------------
----------------------------------------------
retourne distance
```
slides/figs/exemple_neg.png

47.3 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment