인프런 커뮤니티 질문&답변

tmdgus717님의 프로필 이미지
tmdgus717

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2주차 개념 #9. 깊이우선탐색(DFS, Depth First Search)

DFS 종화문제 dfs함수 질문입니다.

작성

·

225

0

종화님 문제의 void dfs() 함수가 이전에 배운 방향탐색에서 배운 go() 함수와 같은 것 같은데 그럼 go()함수도 dfs 인건가요?

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 717님ㅎㅎ

종화님 문제의 void dfs() 함수가 이전에 배운 방향탐색에서 배운 go() 함수와 같은 것 같은데 그럼 go()함수도 dfs 인건가요?

>> void라고 해서 무조건 dfs가 아닙니다. dfs처럼 재귀적으로 끝까지 깊이있게 탐색해야 dfs라고 볼 수 있습니다. 그리고 다음의 코드는 dfs라고 볼 수 있습니다.

void dfs(int y, int x){
    visited[y][x] = 1;
    for(int i = 0; i < 4; i++){
        ny = y + dy[i];
        nx = x + dx[i];
        if(ny < 0 || nx < 0 || ny >=n || nx >= m) continue;
        if(a[ny][nx] == 1 && !visited[ny][nx]){
            dfs(ny, nx);
        }
    }
    return;
}

 

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


tmdgus717님의 프로필 이미지
tmdgus717

작성한 질문수

질문하기