Pr. EL HADIQ Zouhair
CPGE 2ᵉ année — MP / PSI · Informatique
1 / 16Un graphe $G = (S, A)$ modélise des objets et leurs liens :
Exemples : réseaux routiers, réseaux sociaux, pages web, labyrinthes…
| Notion | Non orienté | Orienté |
|---|---|---|
| Lien | arête {u, v} | arc (u, v) |
| Sens | aucun (symétrique) | de u vers v |
| Suite de sommets | chaîne | chemin |
| Boucle fermée | cycle | circuit |
$M[i][j] = 1$ s'il existe un arc/arête $i \to j$, sinon $0$.
Opérations clés : ajout / suppression / test d'un arc, liste des voisins.
8 / 16Explore par cercles concentriques : départ, puis voisins, puis voisins des voisins… avec une file (FIFO).
Complexité $O(n + m)$. Donne le plus court chemin non pondéré.
Explore le plus loin possible avant de revenir en arrière (backtracking). Naturellement récursif, ou itératif avec une pile (LIFO).
Complexité $O(n + m)$. Diffère du BFS par l'ordre de visite.
Chaque arc/arête porte une étiquette numérique (poids) : distance, temps, prix…
Problème du plus court chemin : minimiser la somme des poids.
12 / 16Plus courts chemins depuis une source, poids positifs. À chaque étape : figer le sommet de plus petite distance, puis relâcher ses arcs.
File de priorité (heapq) ⟹ $O((n+m)\log n)$.
| Opération / algo | Matrice | Listes d'adj. |
|---|---|---|
| Mémoire | $O(n^2)$ | $O(n+m)$ |
| Test d'arc | $O(1)$ | $O(\deg u)$ |
| Voisins | $O(n)$ | $O(\deg u)$ |
| BFS / DFS | $O(n^2)$ | $O(n+m)$ |
| Dijkstra (tas) | $O((n+m)\log n)$ | |
| Floyd-Warshall | $O(n^3)$ | |