/
▷ 재귀호출
필요한 함수가 자신과 같은 경우, 자기 자신을 다시 호출하는 것을 말한다.
일반 함수를 여러번 작성하는 것보다, 코드를 간결하게 작성할 수 있다. ex) factorial
재귀호출을 사용할 때 주의해야할 점이 있는데, 바로 무한루프가 발생할 수 있다는 것이다.
그 과정은 아래와 같다.
# 자기 자신을 호출
# 문제 (무한루프)
def abc():
abc()
abc()
이러한 재귀함수를 잘 사용하기 위해서는, 먼저 종료조건을 잘 설정하여 무한루프를 막는 것이 필요하다
아래에서는 재귀함수를 돌 때마다 level의 값을 1 증가시켰고,
level 이 2가 되었을 때, 함수를 종료시키도록 하였다.
# 무한루프 막기
def abc(level):
if level == 2:
return
print(level)
abc(level+1)
abc(0)
'''
abc(level += 1) 을 해버리면
다음 함수의 매개변수는 1 + 1 인 값이 된다.
level + 1 과 level += 1은 다르다
'Game AI & Unity > concepts' 카테고리의 다른 글
재귀호출 4 : used + 가지치기 (0) | 2024.02.23 |
---|---|
재귀호출 3 : Path + Sum 응용 (0) | 2024.02.23 |
재귀호출 2 : Path (0) | 2024.02.23 |
[방향 배열 (Direction Array)] 배열 안에서 상,하, 좌,우로 이동하기 (0) | 2024.02.23 |
[DAT (Direct Address Table)] O(n)의 속도로 정렬하기 (0) | 2024.02.23 |