> 일반적인 문제 > 재귀 알고리즘에는 무엇이 포함되어야 합니까?

재귀 알고리즘에는 무엇이 포함되어야 합니까?

(*-*)浩
풀어 주다: 2019-12-11 10:51:09
원래의
10017명이 탐색했습니다.

컴퓨터 과학에서 재귀 알고리즘(영어: recursion Algorithm)은 문제를 유사한 하위 문제로 반복적으로 분해하여 문제를 해결하는 방법을 말합니다.

재귀 알고리즘에는 무엇이 포함되어야 합니까?

재귀적 방법은 많은 컴퓨터 과학 문제를 해결하는 데 사용될 수 있으므로 컴퓨터 과학에서 매우 중요한 개념입니다.

대부분의 프로그래밍 언어는 함수의 자체 호출을 지원합니다. 이러한 언어에서 함수는 자신을 호출하여 재귀를 수행할 수 있습니다. (추천 학습: 웹 프론트 엔드 비디오 튜토리얼)

컴퓨팅 이론은 재귀의 역할이 루프를 완전히 대체할 수 있음을 증명할 수 있으므로 많은 함수형 프로그래밍 언어(예: Scheme 등)에서 루프를 구현하기 위해 재귀를 사용하는 것이 일반적입니다. ).

재귀 프로그램

자기 호출을 지원하는 프로그래밍 언어에서는 간단한 함수 호출을 통해 재귀를 완료할 수 있습니다. 예를 들어 계승을 계산하는 프로그램은 수학적으로 다음과 같이 정의할 수 있습니다.

재귀 알고리즘에는 무엇이 포함되어야 합니까?

이 프로그램은 다음과 같습니다. Scheme 언어는 다음과 같이 쓸 수 있습니다:

(define (factorial n)  (if (= n 0)      1      (* n (factorial (- n 1)))))<br/>
로그인 후 복사

Fixed point Combinator

프로그래밍 언어가 자기 호출을 지원하지 않더라도 해당 언어의 함수가 일급 객체(즉, 다음에서 생성될 수 있음) 런타임이며 변수로 처리됨), 재귀는 고정 소수점 결합자에 의해 생성될 수 있습니다.

다음 Scheme 프로그램은 self-calling을 사용하지 않고 Z 연산자(영어: Z Combinator)라는 고정 소수점 결합자를 사용하므로 재귀의 목적도 달성할 수 있습니다.

아아아아

위 내용은 재귀 알고리즘에는 무엇이 포함되어야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿