DFS를 구현할 때 배열을 4방향 또는 8방향 탐색을 해야하는 경우가 많이 있다.
이때 보통 다음과 같이 if문을 이용해서 구현을 하는데
if(MAP[y+1][x] == 1) {
...
}
if(MAP[y][x+1] == 1) {
...
}
.
.
.
이렇게 하면 코드량도 많고 가독성도 떨어지기 때문에
실제 알고리즘 시험시에 상당히 불편하다.
많이 알려져 있는 방법이지만
4방향 또는 8방향을 배열값으로 저장해서 루프를 돌리면 코드가 매우 간단해 진다.
예제 코드는 다음과 같다.
No comments:
Post a Comment