첫째, 의미가 다르다:
재귀는 함수 자체를 반복적으로 호출하여 루프를 구현하는 것입니다. 반복은 함수 내의 코드 구현 루프입니다. 루프 코드에서 연산에 참여하는 변수는 결과를 저장하는 변수이며, 현재 저장된 결과는 다음 루프 계산의 초기 값으로 사용됩니다.
반복 루프에서는 종료 조건이 충족될 때 레이어별로 되돌아가서 끝납니다. 반복은 카운터를 사용하여 루프를 종료합니다. 물론, 많은 경우 다양한 순환 혼합으로 채택되는데, 이는 구체적인 요구에 따라 해야 한다.
둘째, 구조가 다릅니다:
재귀와 반복은 모두 제어 구조를 기반으로 합니다. 즉, 반복은 반복 구조를 사용하고 재귀는 선택 구조를 사용합니다. 반복과 반복은 모두 반복과 관련이 있습니다. 반복은 반복 구조를 명시적으로 사용하고 반복은 반복 함수 호출을 통해 반복을 수행합니다. 반복과 반복은 모두 테스트 종료와 관련이 있습니다. 즉, 반복은 루프 조건이 실패할 때 종료되고, 반복은 기본 조건이 발생할 때 종료되며, 카운터를 사용하여 반복 반복과 반복은 모두 종결점에 도달합니다. 반복은 카운터 값이 루프 조건을 실패할 때까지 카운터를 수정합니다. 재귀는 기본 상황에 도달할 때까지 최초 문제의 단순화된 복사본을 계속 생성합니다.
재귀 알고리즘은 일반적으로 세 가지 유형의 문제를 해결하는 데 사용됩니다.
(1) 데이터의 정의는 재귀적으로 정의됩니다. (Fibonacci 함수)
(2) 문제 해결은 재귀 알고리즘에 따라 이루어진다.
이러한 문제는 그 자체에 뚜렷한 재귀 구조가 없지만, Hanoi 문제와 같은 반복 해결보다 재귀적으로 해결하는 것이 더 쉽습니다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 반복명언)
(3) 데이터의 구조는 재귀적으로 정의됩니다.
이진 트리, 광의표 등과 같이 구조 자체의 고유한 반복 특성으로 인해 해당 작업을 재귀적으로 설명할 수 있습니다.
위 내용 참조: 바이두 백과-재귀