Diferencia entre BFS y DFS

Diferencia entre BFS y DFS

BFS vs DFS

La amplitud de la primera búsqueda (también conocida como BFS) es un método de búsqueda utilizado para ampliar todos los nodos de un gráfico en particular. Realiza esta tarea buscando cada solución para examinar y expandir estos nodos (o una combinación de secuencias allí). Como tal, un BFS no usa un algoritmo heurístico (o un algoritmo que busca una solución a través de múltiples escenarios). Después de obtener todos los nodos, se agregan a una cola conocida como la primera cola en First Out. Esos nodos que no han sido explorados están 'almacenados' en un contenedor marcado 'abierto'; Una vez explorados, se transportan a un contenedor marcado 'cerrado'.

La primera búsqueda de profundidad (también conocida como DFS) es un método de búsqueda que se entra más profundamente en un nodo infantil de una búsqueda hasta que se alcanza un objetivo (o hasta que haya un nodo sin ninguna otra permutación o 'hijos'). Después de que se encuentra un objetivo, el retroceso de búsqueda a un nodo anterior que ha ido con una solución, repitiendo el proceso hasta que se hayan registrado con éxito todos los nodos. Como tal, los nodos continúan siendo dejados de lado para una exploración adicional: esto se llama implementación no recursiva.

Las características del BFS son la complejidad del espacio y el tiempo, la integridad, la prueba de integridad y la optimización. La complejidad del espacio se refiere a la proporción del número de nodos en el nivel más profundo de una búsqueda. La complejidad del tiempo se refiere a la cantidad real de 'tiempo' utilizado para considerar cada ruta que un nodo tomará en una búsqueda. La integridad es, esencialmente, una búsqueda que encuentra una solución en un gráfico independientemente del tipo de gráfico que sea. La prueba de la integridad es el nivel más superficial al que se encuentra un objetivo en un nodo a una profundidad definitiva. Finalmente, la optimización se refiere a un BFS que no está ponderado, que es un gráfico utilizado para un costo de paso de la unidad.

Un DFS es la salida más natural que usa un árbol de expansión, que es un árbol formado por todos los vértices y algunos bordes en un gráfico no dirigido. En esta formación, el gráfico se divide en tres clases: bordes hacia adelante, apuntando de un nodo a un nodo infantil; Bordes posteriores, apuntando de un nodo a un nodo anterior; y bordes cruzados, que no hacen ninguno de estos.

Resumen:

1. Un BFS busca cada solución en un gráfico para expandir sus nodos; Un DFS se burla de un nodo infantil hasta que se alcanza un gol.

2. Las características de un BFS son la complejidad del espacio y el tiempo, la integridad, la prueba de integridad y la optimización; La salida más natural para un DFS es un árbol de expansión con tres clases: bordes hacia adelante, bordes traseros y bordes cruzados.