탐색 알고리즘 (DFS) DFS의 정의 Depth-First Search : 깊이 우선 알고리즘, 그래프의 깊은 노드를 우선적으로 탐색하는 알고리즘이다. 때문에 DFS를 이해하려면 그래프와 그래프 탐색에 관한 부분을 알아야한다. + 스택(stack) 흔히 미로 탐색으로 비유한다. 막다른 길에 도달할때 까지 한쪽방향을 탐색하다가, 끝을 보면 다시 갈림길로 돌아와서 다른 길을 탐색하는 방법이다. 완전탐색의 일종이다. DFS의 장점 현재 탐색중인 노드들만 기억하기 때문에 메모리 사용이 적고, 당연한 이야기지만 찾으려는 노드가 깊을 경우에 BFS보다 빠르게 찾을 수 있다. DFS 단점 해가 없는 경로를 탐색하는 경우에도 경로가 끝날때 까지 탐색한다. (이를 방지하기 위해 조건을 지정하고 원래 위치로 되돌아오는 ..
DFS (깊이 우선 탐색) , BFS (너비 우선 탐색)
탐색 알고리즘 (DFS) DFS의 정의 Depth-First Search : 깊이 우선 알고리즘, 그래프의 깊은 노드를 우선적으로 탐색하는 알고리즘이다. 때문에 DFS를 이해하려면 그래프와 그래프 탐색에 관한 부분을 알아야한다. + 스택(stack) 흔히 미로 탐색으로 비유한다. 막다른 길에 도달할때 까지 한쪽방향을 탐색하다가, 끝을 보면 다시 갈림길로 돌아와서 다른 길을 탐색하는 방법이다. 완전탐색의 일종이다. DFS의 장점 현재 탐색중인 노드들만 기억하기 때문에 메모리 사용이 적고, 당연한 이야기지만 찾으려는 노드가 깊을 경우에 BFS보다 빠르게 찾을 수 있다. DFS 단점 해가 없는 경로를 탐색하는 경우에도 경로가 끝날때 까지 탐색한다. (이를 방지하기 위해 조건을 지정하고 원래 위치로 되돌아오는 ..
2021.06.22