깊이우선 탐색(depth first search) 기반 최단 거리 예제 풀이
Program Lang./Algorithm 2017. 5. 31. 10:061. 목적
공부한 내용 다음에 다시 복습하기 위해서 여기에 정리. 알고리즘 동작 원리는 설명은 생략.
여기 (http://blog.eairship.kr/268) 블로그에 정리된 내용 중에 최단 거리 탐색 문제를 내 나름되로 짜 봤다.
2. 코드 설명
깊이 우선 탐색 기반은 Stack 기반이고, 기존에 방문한 Node에 대해서 원하는 답을 얻지 못할 경우 다시 현재 Node 전의 Node로 이동해야 하는데 이 때 현재 Node 탐색에 사용된 중간 결과는 모두 원래되로 돌려줘야 한다. Back Tracking 기반이라는 의미로 해석된다. 흔히 운영체제나 이런 곳에서 Stack 되감기 이런 말을 들을 수 있는데 이 문제에서 많은 영감을 얻을 수 있다.
3. 실행 결과
결론적으로 두 가지 Path로 종점에 도달하였고, 그 중 최소값을 선택하는 문제이다.
end of loop .. distance : 16 end of loop .. distance : 12 최단거리 : 12
'Program Lang. > Algorithm' 카테고리의 다른 글
경찰차 - 사건처리 최소 거리 (0) | 2017.06.18 |
---|---|
미로 찾기 예제 풀이 (0) | 2017.05.31 |
두더지 굴 탐색 예제 - 너비 우선 탐색 기반 (BFS) (0) | 2017.05.31 |
너비우선탐색 기반 최단 거리 예제 풀이 (0) | 2017.05.31 |
두더지 굴(S) - 탐색기반 알고리즘 설계 중급 - 깊이우선탐색 기반 (0) | 2017.03.12 |