Ich denke, es wäre interessant, beide so zu schreiben, dass Sie nur durch Umschalten einiger Codezeilen den einen oder anderen Algorithmus erhalten, sodass Sie feststellen, dass Ihr Dillem nicht so stark ist, wie es zunächst zu sein scheint .
Ich persönlich mag die Interpretation von BFS als Überschwemmung einer Landschaft: Die Gebiete mit geringer Höhe werden zuerst überschwemmt, und erst dann werden die Gebiete mit hoher Höhe folgen. Wenn Sie sich die Landschaftshöhen als Isolinien vorstellen, wie wir es in den Geografiebüchern sehen, ist es leicht zu sehen, dass BFS alle Bereiche unter derselben Isolinie gleichzeitig ausfüllt, genau wie dies bei der Physik der Fall wäre. Die Interpretation von Höhen als Entfernung oder skalierte Kosten liefert daher eine ziemlich intuitive Vorstellung des Algorithmus.
Vor diesem Hintergrund können Sie die Idee der Breitensuche leicht anpassen, um den minimalen Spannbaum, den kürzesten Pfad und viele andere Minimierungsalgorithmen zu finden.
Ich habe noch keine intuitive Interpretation von DFS gesehen (nur die Standardinterpretation über das Labyrinth, aber sie ist nicht so mächtig wie die BFS und das Fluten), daher scheint es für mich, dass BFS besser mit den oben beschriebenen physikalischen Phänomenen korreliert, während DFS korreliert besser mit Entscheidungen, die auf rationalen Systemen getroffen werden (dh Menschen oder Computer entscheiden, welche Schritte bei einem Schachspiel oder beim Verlassen eines Labyrinths unternommen werden).
Für mich liegt der Unterschied darin, welches Naturphänomen am besten zu ihrem Ausbreitungsmodell (Transversing) im wirklichen Leben passt.