재귀함수 - 자기 자신을 끝없이 호출하는 함수
장점
단점
컨텍스트 스위칭
비용이 발생컨텍스트 스위치 비용 : 스케쥴러가 기존 실행 프로세스를 우선 순위에서 미루고,새 프로세스를 교체해야 할 때 프로세스 상태값을 교체 하는 작업
재귀함수를 사용하기 위한 조건
if로 종료조건
)이 있어야 한다.1 + (2~5) -> 15
2 + (3~5) -> 14
3 + (4~5) -> 12
4 + (5) -> 9
5 + () -> 5
이런식으로 쪼개야한다. 이렇게 된다면 종료조건은 n < 6 일것이다.
public int arrSum (int[] arr) {
if (arr.length == 0) {
return 0;
}
return arr[0] + arrsum(arr);
이렇게 합을 구하는 답을 보면은 이해가 갈것같은데 막상 답을 알기전에는 알수 없다 . 재귀같은 경우는 여러 코드들을 봐야 안다고 하는데 많이 노력해야겠다.