코린이의 기술 블로그

재귀 함수 본문

Java Web

재귀 함수

미늬온 2021. 12. 12. 16:24

재귀 함수 ? 함수가 직접적 또는 간접적으로 자신을 호출하는 프로세스를 재귀함수라고 합니다.

                자기 자신을 호출하는 함수 / 끝을 맺어주지 않으면 무한 루프에 빠질수 있다.

                그러므로 종료 Case가 존재해야 합니다.

밑의 설명을 보면 반복문의 형식을 잘 기억해서 함수를 봐야하는 것으로 보입니다.

반복문 문제를 더 풀고 제귀 함수 정리의 정리가 더 효율적으로 보입니다:)

 

재귀 Vs. 반복

모든 재귀 호출은 반복문으로 변경 가능하며 그 역으로도 성립한다. 모든 반복문은 재귀 호출로도 변경 가능하다.

  • 재귀 함수
    • 장점 : 복잡한 알고리즘을 사람이 보기에 단순하고 알기 쉽게 표현 가능
    • 단점 : 함수 호출에 따른 오버헤드가 있음

 

재귀 알고리즘 설계

뒤에서부터 빠져나오면서, 혹은 더 깊이 들어가고 차례로 빠져나오면서 뭘 하고 싶을 때.

  • 적어도 하나 이상의 순환되지 않는 종료 case가 있어야 한다.
  • 모든 case는 종료 case로 수렴해야 한다.
  • 암시적 매개변수를 명시적 매개변수로 바꿔라
    • 재귀 호출을 위해 매개변수를 좀 더 일반화 하란 얘기

출처 : https://ansohxxn.github.io/algorithm%20lesson%201/chapter1-1/

728x90

'Java Web' 카테고리의 다른 글

REST API 설계  (0) 2022.01.05
REST의 정의  (0) 2022.01.03
입력 유효성 검증  (0) 2021.12.11
스프링 폼 요소 - 2  (0) 2021.12.08
스프링 폼 요소 - 1  (0) 2021.12.07
Comments