39. Breadth First Search (BFS - Recherche en Largeur)
Le BFS est un algorithme de parcours de graphe qui explore tous les nœuds voisins au niveau de profondeur actuel avant de passer aux nœuds du niveau de profondeur suivant.
Concept : Explorer par Couches
Imaginez des ondulations dans un étang. Le BFS explore couche par couche, trouvant tous les nœuds à un pas de distance, puis tous les nœuds à deux pas de distance, et ainsi de suite.
Le BFS utilise une Queue (File) pour garder une trace des nœuds à visiter ensuite, assurant une exploration niveau par niveau.
Étapes de l'Algorithme
- Commencer au nœud source S, marquer comme visité et l'enfiler (enqueue).
- Tant que la file n'est pas vide :
- Défiler (dequeue) un nœud
U. - Pour chaque voisin non visité
VdeU:- Marquer
Vcomme visité et l'enfiler (enqueueV).
- Marquer
- Défiler (dequeue) un nœud
Cas d'Utilisation
- Trouver le plus court chemin dans un graphe non pondéré (car il explore d'abord les nœuds les plus proches).
- Robots d'exploration web (crawling niveau par niveau).