[c++] DFS(깊이 우선 탐색) / 개념 / 함수 구현
DFS(깊이 우선 탐색) - 루트 노드(혹은 다른 임의의 노드)에서 시작해서 다음 분기(branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법 - 스택 또는 재귀함수로 구현 DFS: Stack(스택) // DFS 구현 - 스택 // 답: 1, 2, 4, 6, 5, 7, 3 #include #include #include using namespace std; // 인접행렬로 표현한 그래프 vector adjacent = { { 0,1,1,0,0,0,0 }, { 1,0,0,1,1,0,0 }, { 1,0,0,0,0,0,1 }, { 0,1,0,0,0,1,0 }, { 0,1,0,0,0,1,0 }, { 0,0,0,1,1,0,1 }, { 0,0,1,0,0,1,0 }, }; // 노드 방문 여부 표시 벡터 ..