본문 바로가기

알고리즘 강의

[알고리즘 강의] 파트4. 재귀 알고리즘(Recursive Algorithms) 기초

재귀함수(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)

 

 

* 프로그래머스의 '어서와! 자료구조와 알고리즘은 처음이지?' 강의를 듣고 정리하였습니다.