Computer science/Algorithm

Recursive Algorithm(재귀 호출)

잔망루피 2020. 12. 4. 20:51

재귀 호출

  • 수행할 작업을 작게 쪼갠 다음에 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출한다.
  • 더이상 쪼개지지 않을 때 return을 해주는 조건문이 있어야 한다.

 

Factorial 구현 예제

def solution(n):
    fact=1
    for i in range(1, n+1):
        fact*=i
    return fact​

반복문으로 구현

 

def solution(n):
    if n<2:
        return 1
    else:
        return n*solution(n-1)

 

 

재귀 호출

n이 1이 되면 return 1을 한다.

solution(4)라면, 

  1. n이 1일 때, 1을 return 받는다.
  2. 2 * 1
  3. 3 * 2
  4. return 4 * 6

 

 

 

 

반응형

'Computer science > Algorithm' 카테고리의 다른 글

Dynamic Programming Algorithm  (0) 2020.12.08
[파이썬] merge sort  (0) 2020.12.04
divide & conquer algorithm  (0) 2020.12.04
heap  (0) 2020.11.26
검색  (0) 2020.02.27