코드를 바꾸는 것만으로 하나의 알고리즘 또는 다른 알고리즘을 얻을 수있는 방식으로 두 가지를 작성하는 것이 흥미로울 것이라고 생각합니다. .
저는 개인적으로 풍경을 범람하는 것으로 BFS를 해석하는 것을 좋아합니다. 저고도 지역은 먼저 침수 될 것이고, 그런 다음에 만 고고도 구역이 뒤따를 것입니다. 지리 책에서 볼 수 있듯이 가로 고도를 등각 선으로 생각하면 BFS가 물리학에서와 마찬가지로 동일한 등선 아래의 모든 영역을 동시에 채울 수 있습니다. 따라서 고도를 거리 또는 스케일 비용으로 해석하면 알고리즘에 대한 직관적 인 아이디어를 얻을 수 있습니다.
이를 염두에두고 폭이 넓은 첫 번째 검색에 대한 아이디어를 쉽게 적용하여 최소 스패닝 트리를 쉽게 찾고, 최단 경로 및 기타 여러 최소화 알고리즘을 찾을 수 있습니다.
나는 DFS에 대한 직관적 인 해석을 아직 보지 못했지만 (미로에 대한 표준 만 있지만 BFS만큼 강력하지 않고 범람하지는 않습니다), BFS는 위에서 설명한 것처럼 물리적 현상과 더 나은 상관 관계가있는 것처럼 보입니다. DFS는 합리적인 시스템 (즉, 체스 게임을하거나 미로로 나가는 것을 결정하는 사람이나 컴퓨터)의 선택 딜레마와 더 관련이 있습니다.
따라서 저에게 자연 현상이 실제 전파 모델 (이동)과 가장 일치하는 것의 차이점이 있습니다.