재귀함수에 대해서 알아보자
재귀함수의 정의
컴퓨터 과학에 있어서 재귀(再歸, Recursion)는 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻하며, 이를 프로그래밍에 적용한 재귀 호출(Recursive call)의 형태로 많이 사용된다. 또 사진이나 그림 등에서 재귀의 형태를 사용하는 경우도 있다.
재귀함수의 장점
- 먼저, 알고리즘 자체가 재귀적인 표현이 자연스러운 경우에는 재귀 함수를 쓰는 것이 큰 도움이 됩니다. ...
- 두번째로, '변수 사용'을 줄여주어 mutable state가 취할 수 있는 경우의 수를 줄여주게 됩니다.
재귀함수 코드 분석
1. 팩토리얼을 중심으로..
def factorial(n):
if n <= 1:
return 1
else:
return n*factorial(n-1)
2. 피보나치 수를 중심으로..
def fibo(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibo(n-1) +fibo(n-2)
n = int(input())
print(fibo(n))
'자료구조와 알고리즘 > 이것이 취업을 위한 코딩테스트다' 카테고리의 다른 글
알고리즘 - 재귀 함수(Recursive Function) (0) | 2021.08.20 |
---|---|
자료구조- 스택/큐 자료구조(DFS/BFS를 배우기 전에 선행되어야 하는 자료구조 개념) (0) | 2021.08.20 |
알고리즘 - 구현(Implementation) (0) | 2021.08.19 |
알고리즘 - 그리디 알고리즘 (0) | 2021.08.18 |
자료구조와 알고리즘의 종류와 분류 (0) | 2021.08.17 |