콩알라
코딩 조아
콩알라
전체 방문자
오늘
어제
  • 전체 (37)
    • 유니티 (20)
      • 꿀팁 (3)
      • 꿀팁ㅇㅇㅇ (16)
      • 클라우드 빌드 (0)
      • iOS (1)
    • 언리얼 (0)
    • 공부 (4)
      • 알고리즘 (1)
      • Effect (0)
      • Shader (2)
      • DirectX (1)
    • 일상 (1)
      • ? (1)
    • 주식 공부 (1)

블로그 메뉴

  • 방명록
  • ADMIN
  • WRITE

공지사항

인기 글

태그

  • 3DS MAX 폴리곤 줄이기
  • Maya 폴리곤 수 줄이기
  • 내일채움공제
  • 마야 폴리곤 수 줄이기
  • 만기금 수령
  • 맥스 폴리곤 수 줄이기
  • 모델 폴리곤 수 줄이기
  • 모델 폴리곤 줄이기
  • 실업급여
  • 유니티

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
콩알라

코딩 조아

공부/알고리즘

순환 (Recursion)

2019. 2. 28. 11:37

 ⓐ 자기 자신을 호출하는 함수

public class Recursion
{
      public static void main(String[] args) {
           Func();
      }

      public static void Func() {
           System.out.println("함수 실행");
           Func();
      }
}

  실행 결과 :

함수 실행
함수 실행
함수 실행
함수 실행
함수 실행
함수 실행
함수 실행
... (무한 루프)


 ⓑ 무한 루프에 빠지지 않으려면?

public class Recursion
{
     public static void main(String[] args) {
          int n = 4;
          Func(n);
     }

     public static void Func(int n) {
          if (n <= 0) { /* Base case : recursion에 빠지지 않는 경우가 존재해야 한다. */
               return;
          }
          else {
               System.out.println("함수 실행");
               Func(n - 1); /* Recursive case : recursion을 반복하다보면 결국 Base case로 수렴해야 한다. */
          } 
     }
}

  실행 결과 :

함수 실행
함수 실행
함수 실행
함수 실행 (4번 동작)


 ⓒ 1~n 까지의 합

public class Recursion
{
     public static void main(String[] args) {
          int result = Func(5);
     }

     public static void Func(int n) {
          if (n == 0) { 
               return 0;
          }
          else {
               return n + Func(n - 1);
          } 
     }
}

  실행 결과 : Func(int n)은 음이 아닌 정수 n에 대해 0부터 n까지의 합을 계산

15 (결과값)


    콩알라
    콩알라
    게임 개발자

    티스토리툴바