그래프의 탐색은 하나의 정점에서 시작하여 그래프의 모든 정점들을 한 번씩 방문(탐색)하는 것이 목적입니다.
그래프의 데이터는 배열처럼 정렬이 되어 있지 않기에, 원하는 자료를 찾으려면, 하나씩 모두 탐색해야한다.
그래프의 모든 정점 탐색 방법 중, 가장 대표적인 두 가지 방법인 DFS, BFS 알아봅니다.
stack 을 이용해서 구현)
DFS는 하나의 경로를 끝까지 탐색한 후, 찾고 싶은 노드가 아니라면 다음 경로로 넘어가 탐색한다.
하나의 노선을 끝까지 들어가서 확인하고 다음으로 넘어가기 때문에, 운이 좋다면 단 몇 번만에 경로를 찾을 수 있습니다. 또 미국으로 가는 길이 아님을 미리 체크할 수 있다면, 바로 그 순간 다음 탐색으로 넘어갈 수 있습니다.
한 정점에서 시작해서 다음 경로로 넘어가기 전에 해당 경로를 완벽하게 탐색할 때 사용합니다. 만약, BFS로 탐색하게 된다면 제일 첫 번째 경로가 미국행이라도, 다른 모든 경로를 살펴보아야 합니다.
queaue 을 이용해서 구현)
한국을 기준으로 미국까지 가는 방법을 가까운 정점부터 탐색한다.
출처
코드스테이츠
엔지니어대한민국