C++:: 재귀

2023. 12. 21. 17:51·Problem Solving/이론
반응형

참고 내용

https://blog.encrypted.gg/943

 

정의

재귀 : 하나의 함수에서 자기 자신을 다시 호출해 작업을 수행하는 알고리즘

핵심

수학적 귀납법으로 생각해야 함.

절차지향식으로 생각하면 머리 터짐!

 

수학적 귀납법

N=1이 성립한다.
N=k가 성립한다면 N=k+1 역시 성립함을 증명하면 N=k가 성립함을 증명할 수 있음

 

알고리즘 틀

  1. 함수의 정의 : 함수의 인자로 무엇을 받을지, 함수에서 어디까지 계산하고 자신을 호출할지가 명확해야 함.
    이때, 모든 재귀함수는 반복문만으로 동일한 동작을 하는 함수로 표현할 수 있음.
    (재귀로 할지, 반복문으로 할지 상황에 따라 메모리와 시간의 제약상황에 따라 선택할 수 있다는 뜻)
  2. base condition : 특정 입력에 대해 자기 자신을 호출하지 않고 종료되어야 함.
  3. 재귀 식

관련 예제

백준 1629 곱셈 : 짝수일 때 바로 반환하는 것, 홀수일 때 한번 더 불러야 함

백준 11729 하노이 탑 : n번째 원판이 이동하는 것을 기준으로 생각하고 출력해야 함.

백준 1074 Z : https://donkeysdevelpment.tistory.com/139

 

반응형

'Problem Solving > 이론' 카테고리의 다른 글

C++:: DFS 순열/중복순열/조합/중복조합 예제  (0) 2023.04.06
C++:: DFS  (0) 2023.01.31
C++:: BFS & STL:: pair  (1) 2023.01.15
C++:: 스택 활용 (수식의 괄호쌍)  (0) 2023.01.10
C++:: 덱  (0) 2023.01.04
'Problem Solving/이론' 카테고리의 다른 글
  • C++:: DFS 순열/중복순열/조합/중복조합 예제
  • C++:: DFS
  • C++:: BFS & STL:: pair
  • C++:: 스택 활용 (수식의 괄호쌍)
나귀당
나귀당
게임 클라이언트 개발자의 개인 블로그 (기술, 개발일지, 성찰)
  • 나귀당
    나귀라 카더라
    나귀당
    • 분류 전체보기 (169)
      • 개발 (26)
        • 게임 (9)
        • 서브 (9)
        • 기타 (8)
      • Computer Science (20)
        • 머신러닝 (5)
        • 정보보안 (6)
        • 컴퓨터비전 (8)
        • 컴퓨터그래픽스 (1)
      • Problem Solving (52)
        • 이론 (17)
        • 문제풀이 (32)
        • 기타 (3)
      • 개인 (56)
        • Careers (1)
        • 회고+계획 (34)
        • 후기 (14)
        • 좌충우돌 (2)
        • 독서 (5)
      • 학교 (업뎃X) (15)
        • 과제 (2)
        • 수업관련 (9)
  • 반응형
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
나귀당
C++:: 재귀
상단으로

티스토리툴바