재귀 함수 (1) - 재귀 함수 (Recursive Function) 란?

2023. 7. 30. 15:19· Algorithm

재귀 함수란 쉽게 이야기해서 함수내에서 자기 자신을 다시 호출하는 함수를 말한다. 즉, 함수A가 함수 내에서 자기 자신인 함수A를 호출하는 것이다. 간단한 예시로 아래와 같은 코드를 들 수 있다.

def recursive():
    print("재귀 함수 호출")
    recursive()

recursive()

위의 예시에 대해 해석해보면 먼저 가장 아랫줄의 코드를 통해서 함수 recursive가 호출되게 된다. 그 이후 함수 내에서 "재귀 함수 호출" 이라는 메시지를 출력하게 되고 다음으로 다시 recursive 함수를 호출한다. 다음 호출에도 똑같은 과정이 반복될 것이고 따라서 무한으로 메시지가 출력되며 계속 함수가 호출되게 된다.

물론 파이썬에서는 재귀의 최대 깊이가 존재하기 때문에 어느정도 재귀 함수가 호출되고 오류 메시지와 함께 프로그램이 종료 되는 것을 확인할 수 있다. 이처럼 재귀 함수에는 재귀 호출에서의 종료 조건이 필요한 것이다. 또한 코딩 테스트에서도 무한히 재귀 호출을 해야 하는 문제는 출제되지 않을 것임이 분명하다. 따라서 재귀 함수를 사용하는 알고리즘을 구현할 때는 반드시 적절한 종료 조건을 추가해야 한다. 이에 대해서는 다음 게시물에서 이야기 하도록 한다.

 

 

저작자표시 (새창열림)

'Algorithm' 카테고리의 다른 글

재귀 함수 (3) - 재귀 함수의 대표적인 예 : 팩토리얼 (Factorial)  (0) 2023.07.30
재귀 함수 (2) - 재귀 함수의 종료 조건  (0) 2023.07.30
자료구조 (Data Structure) (3) - 큐 (Queue) 란?  (0) 2023.07.30
자료구조 (Data Structure) (2) - 스택 (Stack) 이란?  (0) 2023.07.30
자료구조 (Data Structure) (1) - 탐색과 자료구조란?  (0) 2023.07.29
'Algorithm' 카테고리의 다른 글
  • 재귀 함수 (3) - 재귀 함수의 대표적인 예 : 팩토리얼 (Factorial)
  • 재귀 함수 (2) - 재귀 함수의 종료 조건
  • 자료구조 (Data Structure) (3) - 큐 (Queue) 란?
  • 자료구조 (Data Structure) (2) - 스택 (Stack) 이란?
공대생안씨
공대생안씨
전자공학과 학부생의 코딩 일기
티스토리
|
로그인
공대생안씨
공대생의 코딩 일기
공대생안씨
글쓰기
|
관리
전체
오늘
어제
  • All Categories (153)
    • Spring Boot (46)
      • JPA (7)
      • Lombok (2)
    • Java (21)
    • DevOps (3)
      • CI,CD (8)
      • Monitoring (2)
    • Database (7)
      • MySQL (5)
      • MongoDB (1)
      • H2 (1)
    • Trouble Shooting (5)
    • FE (4)
    • IntelliJ (3)
    • Git (3)
    • Algorithm (41)

블로그 메뉴

  • 홈
  • 태그
  • Github

공지사항

인기 글

hELLO · Designed By 정상우.v4.2.2
공대생안씨
재귀 함수 (1) - 재귀 함수 (Recursive Function) 란?
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.