BFS로는 되는데 DFS는 안되는 이유
·
Language/Java
구름톤 챌린지 문제를 풀다가 노드를 방문하는 작업을 익숙한 DFS로 풀었더니 Error(Runtime Error)가 뜨지 뭐예요.. 그래서 휴먼에러(오타 혹은 범위 실수)인 줄 알고 열심히 뒤졌지만 너무 맞는 코드였습니다. 그래서 인터넷에 검색해 본 결과!! java.lang.StackOverflow라는 오류가 발생하는 것이었습니다. 이 오류의 발생 원인은 다음과 같습니다. Java 프로그램 or JVM에서 작성되는 모든 스레드에는 고유 스택 공간(데이터를 담아 두는 더미)이 있습니다. 보통 스택 공간에는 지역변수가 저장되는데, 함수에서 변수를 선언하면 변수는 stack 메모리에 할당되고 함수를 빠져나오면 stack 메모리에서 해제됩니다. 애플리케이션에 사용 가능한 전체 스택 크기는 시작 동안 결정되고 ..