고전컴퓨터/알고리즘(with Python)

[python] 재귀함수

nineil91 2022. 1. 4. 16:06

재귀 함수

어떤 함수 안에서 자기 자신을 호출하는 방식을 재귀호출이라고 함. 이처럼 재귀호출을 하여 작업을 수행하는 방식의 함수를 재귀함수라 함. 반복문을 재귀함수로 구현 할 수 있고 반대로 재귀함수도 반복문으로 구현 할 수 있음.

 

아래는 파이썬 코드 작성 예시이다.

def hello():
	print('Hello, world!')
    hello()

hello()

본 소스코드와 같이 작성한다면 'Hello, world!'를 계속 출력하다 RecursionError가 발생한다. 파이썬은 재귀 깊이(maximum recursion depth)가 최대 1,000으로 정해져있다.

재귀호출을 사용하려면 반드시 종료 조건을 만들어야 한다.

def hello(count):
	if count == 0:
    	return
    
    print('Hello, world!', count)
    
    count = count - 1
    hello(count)
    
hello(10)

 

 

 

 


참고자료

https://dojang.io/mod/page/view.php?id=2352 

 

파이썬 코딩 도장: 31.1 재귀호출 사용하기

Unit 31. 함수에서 재귀호출 사용하기 함수 안에서 함수 자기자신을 호출하는 방식을 재귀호출(recursive call)이라고 합니다. 재귀호출은 일반적인 상황에서는 잘 사용하지 않지만 알고리즘을 구현

dojang.io

https://gomguard.tistory.com/111

 

반드시 알아야하는 알고리즘 top 8 - 1. 재귀 알고리즘

반드시 알아야 하는 알고리즘 top 8 재귀 알고리즘 이진 탐색 순차 탐색 버블 정렬 삽입 정렬 탐욕 알고리즘 최단거리 알고리즘 몬테 카를로 알고리즘 재귀 함수 재귀함수란 어떤 함수에서 자신

gomguard.tistory.com