재귀함수(recursive functions)란?
- 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 것
- 생각보다 많은 종류의 문제가 재귀적으로(recursively)해결 가능
- 예) 이진 트리(binary trees)
왼쪽 서브트리의 원소들은 모주 작거나 같을 것
오른쪽 서브트리의 원소는 모두 클 것
이 원칙을 모든 노드에 대해서 적용!
실습 코드 - 피보나치 순열 구현
def solution(x):
if x==0:
return 0
elif x==1:
return 1
else:
return solution(x-1)+solution(x-2)
* 프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?' 강의를 듣고 정리하였습니다.
'알고리즘 강의' 카테고리의 다른 글
[알고리즘 강의] 파트7. 연결 리스트(Linked Lists) (1) (0) | 2021.07.14 |
---|---|
[알고리즘 강의] 파트6. 알고리즘의 복잡도(Complexity of Algorithms) (0) | 2021.07.13 |
[알고리즘 강의] 파트5. 재귀 알고리즘(Recursive Algorithms) 응용 (0) | 2021.07.13 |
[알고리즘 강의] 파트3. 배열 더 알아보기: 정렬과 탐색(Sorting & Searching) (0) | 2021.07.13 |
[알고리즘 강의] 파트1, 파트2 정리 (0) | 2021.07.12 |