diff --git a/slides/cours_27.md b/slides/cours_27.md index 3e560e940effa514f1a4af7648f19bc6ee886f67..10d649dae7e6a848a49b062a78a3e42fbabd905d 100644 --- a/slides/cours_27.md +++ b/slides/cours_27.md @@ -492,3 +492,130 @@ O(|V|) u, fp = défiler(file_priorité) # Algorithme de Kruskal +* On ajoute les arêtes de poids minimal: + * si cela ne crée pas de cycle; + * on s'arrête quand on a couvert tout le graphe. + +. . . + +* Comment on fait ça? + +. . . + +* Faisons un exemple pour voir. + +# Algorithme de Kruskal: exemple + +::: columns + +:::: column + +## Un exemple + + + +:::: + +:::: column + +## On part de `(a, d)` (poids le plus faible) + + + +:::: + +::: + +# Algorithme de Kruskal: exemple + +::: columns + +:::: column + +## On continue avec `(c, d)` + + + +:::: + +:::: column + +## Résultat + + + +:::: + +::: + +# Algorithme de Kruskal: exemple + +::: columns + +:::: column + +## On continue avec `(d, e)` + + + +:::: + +:::: column + +## Résultat + + + +:::: + +::: + +# Algorithme de Kruskal: exemple + +::: columns + +:::: column + +## On continue avec `(b, e)` + + + +:::: + +:::: column + +## Résultat + + + +:::: + +::: + +# Algorithme de Kruskal: exemple + +::: columns + +:::: column + +## Mais pourquoi pas `(c, e)`? + + + +:::: + +:::: column + +## Résultat: un cycle + + + +:::: + +::: + +* Comment faire pour empêcher l'ajout de `(c, e)` ou `(a, c)`? + +. . . + +* Si les deux sommets sont déjà couverts nous sommes sauvés (presque)! \ No newline at end of file diff --git a/slides/figs/kruskal_0.png b/slides/figs/kruskal_0.png new file mode 100644 index 0000000000000000000000000000000000000000..c413e3d52420a86b4323bef5baf0b4a2b987f0bb Binary files /dev/null and b/slides/figs/kruskal_0.png differ diff --git a/slides/figs/kruskal_1.png b/slides/figs/kruskal_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7a0da02fa35abb08fca7770b7873f558e7938aa7 Binary files /dev/null and b/slides/figs/kruskal_1.png differ diff --git a/slides/figs/kruskal_2.png b/slides/figs/kruskal_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfe459bea24b3a3b0146f672f191ff4d7f51e16 Binary files /dev/null and b/slides/figs/kruskal_2.png differ diff --git a/slides/figs/kruskal_3.png b/slides/figs/kruskal_3.png new file mode 100644 index 0000000000000000000000000000000000000000..66c03316704961ca8bd53ad66adac079f167891b Binary files /dev/null and b/slides/figs/kruskal_3.png differ diff --git a/slides/figs/kruskal_4.png b/slides/figs/kruskal_4.png new file mode 100644 index 0000000000000000000000000000000000000000..4c6741560c2475044005295b7b68a5cdcbf9913e Binary files /dev/null and b/slides/figs/kruskal_4.png differ diff --git a/slides/figs/kruskal_cycle.png b/slides/figs/kruskal_cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..4c16b2f010793b7ff1944b6fb04da43e9863ef54 Binary files /dev/null and b/slides/figs/kruskal_cycle.png differ