Skip to content
Snippets Groups Projects
Commit 2acaac60 authored by paul.albuquer's avatar paul.albuquer
Browse files

Edit cours_25.md

parent e9acc33b
No related branches found
No related tags found
No related merge requests found
Pipeline #40703 passed
......@@ -42,7 +42,7 @@ date: "2025-06-06"
# Formalisation: Les arbres couvrants
* Qu'est-ce qu'un arbre couvrant? Des idées? De quel objet on part? Où va-t-on?
* Qu'est-ce qu'un arbre couvrant? Des idées? De quel objet part-on? Où va-t-on?
. . .
......@@ -55,7 +55,7 @@ date: "2025-06-06"
# Arbres couvrants
* Quels algorithmes que nous avons déjà vus permettent de construire des arbres couvrants?
* Quels algorithmes que nous avons déjà vus, permettent de construire des arbres couvrants?
. . .
......@@ -63,11 +63,11 @@ date: "2025-06-06"
. . .
![Graphe, et parcours comme arbres couvrants.](figs/arbres_couvrants_parcours.png)
![Graphe et parcours comme arbres couvrants.](figs/arbres_couvrants_parcours.png)
# Arbres couvrants minimaux
* Un *arbre couvrant minimal* est un sous-graphe d'un graphe non-orienté pondéré $G(V,E)$, tel quel:
* Un *arbre couvrant minimal* est un sous-graphe d'un graphe non-orienté pondéré $G(V,E)$ tel quel:
* C'est un arbre (graphe acyclique);
* Il couvre tous les sommets de $G$ et contient $|V|-1$ arêtes;
* Le coût total associé aux arêtes de l'arbre est minimum parmi tous les arbres couvrants possibles.
......@@ -84,7 +84,7 @@ date: "2025-06-06"
* Comment générer un arbre couvrant minimal?
![Un graphe, connexe, non-orienté, pondéré, et son arbre couvrant minimal.](figs/arbre_couvrant_minimal_exemple.png)
![Un graphe, connexe, non-orienté, pondéré, et un arbre couvrant minimal.](figs/arbre_couvrant_minimal_exemple.png)
# Algorithme de Prim
......@@ -491,13 +491,13 @@ sommets, parent prim(file_priorité, distance, parent)
tant que !est_vide(fp)
s_courant, fp = défiler(fp)
sommets = insérer(sommets, s_courant)
pour s_voinsin dans voisinage(s_courant) et pas dans sommets
pour s_voisin dans voisinage(s_courant) et pas dans sommets
// ou dans fp
si poids(s_courant, s_voinsin) < distance[s_voinsin]
parent[s_voinsin] = s_courant
distance[s_voinsin] = poids(s_courant, s_voinsin)
si poids(s_courant, s_voisin) < distance[s_voisin]
parent[s_voisin] = s_courant
distance[s_voisin] = poids(s_courant, s_voisin)
fp = changer_priorité(fp,
s_voinsin, poids(s_courant, s_voinsin))
s_voisin, poids(s_courant, s_voisin))
retourne sommets, parent
```
......@@ -531,7 +531,7 @@ O(|V|) u, fp = défiler(file_priorité)
sommets = insérer(sommets, u)
pour v dans voisinage de u et pas dans sommets
O(|E|) si w(u, v) < distance[v]
// màj dista + parent
// màj distance + parent
O(|V|) fp = changer_priorité(fp, w, w(u, v))
retourne sommets, parent
```
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment