phcdream   3년 전

3줄요약있습니다.

.

반복문과 stack 을 이용한 dfs로 풀었습니다.

그런데 다른사람의 코드를 보니, 재귀함수로 풀었더군요.

정점의 개수가 10만개인데, 

1-2-3-4...-10만

과 같이 일렬로 있을경우, dfs재귀함수의 경우 10만번 stack에 쌓일텐데,

stack overflow가 안일어나는 이유가 뭘까요??

.

1. dfs는 재귀 또는 stack을 이용한 반복문으로 구현가능

2. 재귀로 짤경우, 정점이 10만개이므로, stack에 최대 10만개 쌓일것임.

3. 그런데 stack overflow가 발생안하는 이유??

djm03178   3년 전

채점 서버에서는 빌드 옵션에서 스택의 크기를 크게 잡아주고 있기 때문에 10만 번의 재귀로는 스택 오버플로가 발생하지 않습니다.

댓글을 작성하려면 로그인해야 합니다.