본문 바로가기
Review/SW Jungle

[WEEK02] 재귀함수

by jamiehun 2022. 10. 3.

[Do it 자료구조와 함께 배우는 알고리즘 입문 with 파이썬] + [이것이 취업을 위한 코딩테스트다]  개념정리

 

재귀함수 (Recursive Function)

: 어떤 이벤트에서 자기 자신을 포함 -> 다시 자기 자신을 사용하여 정의

: factorial(n)이 factorial(n-1)을 호출함 => 재귀 호출

: 재귀함수의 수행은 스택 자료구조와 동일함

    (함수를 계속해서 호출했을 때 가장 마지막에 호출한 함수가 먼저 수행을 끝내야 그 앞의 함수 호출이 끝남)

     => 따라서 재귀적으로 함수를 표현할 때는 반드시 if 문을 이용하여 종료조건을 구현해야함

: 재귀 함수를 활용하여 소스코드를 작성하는 것은 수학의 점화식과 유사함

 

직접재귀와 간접 재귀

직접재귀 : 자기 자신과 똑같은 함수 호출

간접재귀 : 다른 함수를 통해 자기자신과 똑같은 함수 호출

 

재귀 알고리즘의 2가지 분석방법 (Do it 참고)

1) 하향식

2) 상향식

 

재귀 알고리즘의 비재귀적 표현 (Do it 참고)

1) 꼬리재귀제거

2) 재귀를 제거

'Review > SW Jungle' 카테고리의 다른 글

[WEEK02] 정렬 알고리즘  (0) 2022.10.03
[WEEK02] 완전탐색  (0) 2022.10.03
[WEEK02] 스택(Stack)과 큐(Queue) + Collections.deque  (0) 2022.10.01
[Week02] 분할정복 (Divide & Conquer)  (1) 2022.10.01
[WEEK01] 예외처리  (1) 2022.09.26