깊이 우선 탐색(DFS)와 너비 우선 탐색(BFS) 구현
먼저 깊이 우선 탐색은 노드에서 진행할 수 있는 최대 지점까지 진행하고 되돌아오면서 옆으로 넘어가는 방식이다. 아래의 예시에서는 인접리스트로 그래프를 표현했고, 0번 노드에는 1, 3번 노드가 연결되어있다. 1번에는 2, 4번 노드가, 그리고 2번과 4번 노드는 5번과 연결되어있다. #include #include using namespace std; const int N = 6; // 인접리스트 vector adj[N]; //깊이 우선 탐색 bool visited[N]; void dfs(int s) { if (visited[s]) return; visited[s] = true; cout
Programming Languages/C++ & Algorithm
2020. 10. 14. 11:39