Différence entre BFS et DFS Différence entre

Anonim

BFS vs DFS

Largeur La première recherche (aussi connue sous le nom de BFS) est une méthode de recherche utilisée pour élargir tous les nœuds d'un graphique particulier. Il accomplit cette tâche en recherchant chaque solution unique afin d'examiner et d'élargir ces nœuds (ou une combinaison de séquences à l'intérieur). En tant que tel, un BFS n'utilise pas un algorithme heuristique (ou un algorithme qui recherche une solution à travers plusieurs scénarios). Une fois tous les nœuds obtenus, ils sont ajoutés à une file d'attente connue sous le nom de file d'attente Premier entré, premier sorti. Les nœuds qui n'ont pas été explorés sont «stockés» dans un conteneur marqué «ouvert»; Une fois explorés, ils sont transportés dans un conteneur marqué «fermé».

Depth First Search (également appelée DFS) est une méthode de recherche qui s'enfonce plus profondément dans un nœud enfant d'une recherche jusqu'à ce qu'un objectif soit atteint (ou jusqu'à ce qu'il y ait un nœud sans autre permutation ou ' enfants »). Après avoir trouvé un objectif, la recherche revient sur un nœud précédent qui a été associé à une solution, répétant le processus jusqu'à ce que tous les nœuds aient été recherchés avec succès. En tant que tels, les nœuds continuent à être mis de côté pour une exploration plus poussée - c'est ce qu'on appelle une implémentation non récursive.

Les caractéristiques du BFS sont la complexité de l'espace et du temps, l'exhaustivité, la preuve d'exhaustivité et l'optimalité. La complexité de l'espace désigne la proportion du nombre de nœuds au niveau le plus profond d'une recherche. La complexité temporelle se rapporte à la quantité réelle de «temps» utilisée pour considérer chaque chemin qu'un nœud prendra dans une recherche. La complétude est essentiellement une recherche qui trouve une solution dans un graphique quel que soit le type de graphique. La preuve de l'exhaustivité est le niveau le moins profond auquel un but est trouvé dans un nœud à une profondeur définie. Enfin, l'optimalité fait référence à un BFS qui n'est pas pondéré - c'est-à-dire un graphique utilisé pour le coût par échelon.

Un DFS est la sortie la plus naturelle utilisant un arbre couvrant - qui est un arbre composé de tous les sommets et de quelques arêtes dans un graphe non orienté. Dans cette formation, le graphique est divisé en trois classes: les fronts avant, pointant d'un nœud à un nœud enfant; arêtes arrière, pointant d'un nœud à un nœud antérieur; et les bords croisés, qui ne font pas l'un ou l'autre.

Résumé:

1. Un BFS recherche chaque solution dans un graphique pour étendre ses nœuds; un DFS enfouit profondément dans un nœud enfant jusqu'à ce qu'un objectif soit atteint.

2. Les caractéristiques d'un BFS sont la complexité de l'espace et du temps, l'exhaustivité, la preuve d'exhaustivité et l'optimalité; La sortie la plus naturelle pour un DFS est un arbre couvrant avec trois classes: les bords avant, les bords arrière et les bords croisés.