Retour au cours

Leçon 40 : DFS vs. BFS : Choisir le Bon Parcours

Algorithmes : De Zéro à Héro (Un Guide pour Débutants)

40. DFS vs. BFS : Choisir le Bon Parcours

Le DFS et le BFS ont la même complexité temporelle asymptotique, O(V + E) lors de l'utilisation d'une Liste d'Adjacence, mais ils résolvent mieux des problèmes différents.

CaractéristiqueDFS (Depth First Search)BFS (Breadth First Search)
Structure de DonnéesStack (Pile) (ou Récursivité)Queue (File)
Modèle de RechercheProfonde, épuisant un chemin d'abordLarge, explorant couche par couche
Complexité TemporelleO(V + E)O(V + E)
Complexité SpatialeO(H) où H est la hauteur du grapheO(B) où B est la largeur max/nombre de nœuds à un niveau
Meilleur pourDétection de cycle, tri topologique, exploration de structures grandes et profondes (si la cible est probablement profonde).Trouver les plus courts chemins (non pondérés), trouver des composants connectés, exploration peu profonde (si la cible est probablement proche du départ).