재귀함수
- 재귀 : 원래의 자리로 되돌아가거나 되돌아옴
- 재귀함수 : 자기 자신을 호출하는 함수
사용 조건
- 문제의 크기를 점점 작은 단위로 쪼갤 수 있어야 함
- 호출 종료 시점이 존재해야 함 (존재하지 않을 경우 무한 루프에 빠질 수 있음)
장점
- 여러개의 반복문을 사용하지 않아 코드가 간결해지고 수정이 용이
- 변수를 여러개 사용할 필요가 없음
단점
- 코드의 흐름을 직관적으로 파악하기 어려움 (특히, 반복이 많을수록 결과 예측이 어려워짐)
- 메서드를 반복 호출하며 매개변수/지역변수/변환값을 모두 저장하기 때문에 더 많은 메모리를 사용
- 메서드 호출 및 종료 후 복귀를 위한 컨테스트 스위칭 비용이 발생함
분석 방법
1) 상향식 분석(bottom-up analysis)
: 0에서부터 시작하여 올려나감
: 아래쪽부터 쌓아 올리며 분석하는 방법
2) 하양식 분석(top-down analysis)
: 가장 위에서 시작하여 종료 조건을 만족할때까지 진행
: 가장 위쪽에 위치한 상자의 메서드를 호출하는 것부터 시작하여 계단식으로 자세히 조삭해 나가는 분석 기법
'공부 자료 > 자료구조|알고리즘' 카테고리의 다른 글
[자료구조/알고리즘] 깊이 우선 탐색 DFS / 너비 우선 탐색 BFS (0) | 2022.10.26 |
---|---|
[자료구조/알고리즘] 완전 탐색 / 이진 탐색 알고리즘 (0) | 2022.10.01 |
[자료구조/알고리즘] 탐욕 알고리즘 Greedy (0) | 2022.10.01 |
[자료구조/알고리즘] 시간복잡도 (0) | 2022.10.01 |
[알고리즘/자료구조] 자료구조 (1) | 2022.10.01 |