1167번 - 트리의 지름
3줄요약있습니다.
.
반복문과 stack 을 이용한 dfs로 풀었습니다.
그런데 다른사람의 코드를 보니, 재귀함수로 풀었더군요.
정점의 개수가 10만개인데,
1-2-3-4...-10만
과 같이 일렬로 있을경우, dfs재귀함수의 경우 10만번 stack에 쌓일텐데,
stack overflow가 안일어나는 이유가 뭘까요??
1. dfs는 재귀 또는 stack을 이용한 반복문으로 구현가능
2. 재귀로 짤경우, 정점이 10만개이므로, stack에 최대 10만개 쌓일것임.
3. 그런데 stack overflow가 발생안하는 이유??
채점 서버에서는 빌드 옵션에서 스택의 크기를 크게 잡아주고 있기 때문에 10만 번의 재귀로는 스택 오버플로가 발생하지 않습니다.
댓글을 작성하려면 로그인해야 합니다.
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가 발생안하는 이유??