Por supuesto un DFS.
Solo imagina entrar a un museo. ¿Quieres más para:
1) entra en la primera habitación, luego la que está al lado, y así sucesivamente hasta que regreses (en realidad, muchos museos son uniones de ciclos, es decir, al ir directamente te encuentras en la primera habitación nuevamente); O
- ¿Qué algoritmos y estructuras de datos se utilizan más en problemas del mundo real y software de producción?
- En el juego de conkers, ¿cómo diseñarías un experimento para identificar qué conkers son mejores?
- ¿Por qué el valor de matriz no se incrementa cuando intento rotarlo?
- ¿Cómo puedo aprender las estructuras de datos en 3 meses?
- ¿Qué significa limitado como sufijo para una empresa?
2) Visite la primera sala de la primera exposición. Regrese al pasillo y visite la primera sala de la segunda exposición. Regrese al pasillo y visite la primera sala de la tercera exposición. Como (digamos) solo hay tres exposiciones, luego regresas a la segunda habitación de la primera exposición, luego vuelves a la segunda habitación de la segunda exposición, y así sucesivamente …
Creo que podría estar de acuerdo en que la segunda estrategia no sería muy inteligente; de hecho es BFS.
Verá, en el mundo real, no puede explorar nodos sin llegar a ellos a través de sus vecinos; eso significa que, mientras que con DFS visita una habitación como máximo dos veces, con BFS puede verla muchas, muchas veces más.