Différence entre BFS et DFS

Différence entre BFS et DFS

BFS vs DFS

L'ampleur de la première recherche (également 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 afin d'examiner et d'élargir ces nœuds (ou une combinaison de séquences) dans les séquences). 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 première file d'attente. 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é».

La première recherche en profondeur (également connue sous le nom de 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 permutations ou `` enfants ''). Une fois un objectif trouvé, la recherche est en arrière à un nœud précédent qui a opté pour 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 d'être mis de côté pour une exploration plus approfondie - c'est ce qu'on appelle la mise en œuvre non réécitée.

Les caractéristiques du BFS sont l'espace et la complexité du temps, l'exhaustivité, la preuve d'exhaustivité et l'optimalité. La complexité de l'espace fait référence à la proportion du nombre de nœuds au niveau le plus profond d'une recherche. La complexité du temps fait référence à la quantité réelle de «temps» utilisé pour considérer chaque chemin qu'un nœud prendra une recherche. L'exhaustivité 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 plus profond auquel un objectif se trouve 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 un graphique utilisé pour le coût de l'unité.

Un DFS est la sortie la plus naturelle à l'aide d'un arbre couvrant - qui est un arbre composé de tous les sommets et de certains bords dans un graphique non dirigé. Dans cette formation, le graphique est divisé en trois classes: bords avant, pointant d'un nœud à un nœud enfant; Backs arrière, pointant d'un nœud vers un nœud antérieur; et croiser les bords, qui ne font aucun de ces.

Résumé:

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

2. Les caractéristiques d'un BFS sont l'espace et la complexité 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: bords avant, bords arrière et bords croisés.