Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 재귀와 반복의 차이점은 무엇입니까?

<시간/>

재귀 반복 둘 다 반복적으로 명령어 세트를 실행합니다. 재귀 함수의 문이 반복적으로 자신을 호출하는 경우입니다. . 반복 루프가 제어 조건이 false가 될 때까지 반복적으로 실행되는 경우입니다. . 재귀와 반복의 주요 차이점은 재귀 항상 함수 및 반복 에 적용되는 프로세스입니다. 지시사항 에 적용됩니다. 반복적으로 실행하려는 .

재귀

  • 재귀는 선택 구조를 사용합니다. .
  • 무한 재귀 재귀 단계가 어떤 조건(기본 )에 수렴하는 방식으로 문제를 줄이지 않으면 발생 케이스 ) 및 무한 재귀는 시스템을 충돌시킬 수 있습니다.
  • 재귀는 기본 사례일 때 종료됩니다. 인식됩니다.
  • 재귀는 일반적으로 반복보다 느립니다. 스택 유지 관리의 오버헤드 때문입니다.
  • 재귀는 반복보다 더 많은 메모리를 사용합니다. .
  • 재귀는 코드를 더 작게 만듭니다. .

예시

public class RecursionExample {
   public static void main(String args[]) {
      RecursionExample re = new RecursionExample();
      int result = re.factorial(4);
      System.out.println("Result:" + result);
   }
   public int factorial(int n) {
      if (n==0) {
         return 1;
      }
      else {
         return n*factorial(n-1);
      }
   }
}

출력

Result:24


반복

  • 반복은 반복 을 사용합니다. 구조 .
  • 루프 조건 테스트가 절대 거짓이 되지 않고 무한 루프가 CPU 주기를 반복적으로 사용하는 경우 반복과 함께 무한 루프가 발생합니다.
  • 반복이 종료됩니다 루프 조건이 실패하는 경우 .
  • 반복은 스택 을 사용하지 않습니다. 따라서 재귀보다 빠릅니다 .
  • 반복은 더 적은 메모리를 사용합니다.
  • 반복을 통해 코드가 길어집니다. .

예시

public class IterationExample {
   public static void main(String args[]) {
      for(int i = 1; i <= 5; i++) {
         System.out.println(i + " ");
      }
   }
}

출력

1
2
3
4
5