DFS : 깊이 우선 탐색
: 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 (깊게) 탐색하는 방법
1) 탐색 시작 노드
를 스택에 넣고 방문처리
2) 스택 최상단 노드의 인접 노드
중 방문하지 않는 노드를 스택에 넣고 방문처리
3) 인접 노드 모두 방문 후 스택을 pop
!!
4) 스택이 빌 때
까지 반복~~
BFS : 너비우선 탐색
: 루트 노드(혹은 다른 임의의 노드)에서 시작해서 인접한 노드를 먼저 탐색하는 방법
1) 탐색 시작 노드
를 큐에 넣고 방문처리
2) 큐에서 deque
(노드를 꺼내기) 하기
3) 해당 노드의 인접 노드
중 방문하지 않는 노드를 큐에 삽입 후 방문처리
4) 큐가 빌 때
까지 반복~~
< 참고 >
https://yunyoung1819.tistory.com/86
https://velog.io/@cha-suyeon/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B9%8A%EC%9D%B4-%EC%9A%B0%EC%84%A0-%ED%83%90%EC%83%89DFS-%EA%B3%BC-%EB%84%88%EB%B9%84-%EC%9A%B0%EC%84%A0-%ED%83%90%EC%83%89BFS