귀속 알고리즘에 대한 이해를 간단히 말하다.
이른바 귀환이란 전달도 있고 회귀도 있다. 전달과 회귀라기보다는 초학이 일종의'순서대로 전진'과'규칙적인 구속'이라는 것을 이해하는 것이 낫다.
왜 이렇게 말합니까? 귀속 알고리즘은 순환보다 코드 구조에 있어서 개인이 생각하는 것보다 더욱 간결하고 뚜렷하며 이해하기 쉽기 때문에 귀속은 질서정연한 규칙을 중시하기 때문에 모든 프로그램이 시작되기 전에 우리는 프로그램을 순서대로 전진시키는 규칙을 찾을 수 있습니다.또한 전체 과정에서 이 규칙으로 전달되고 있지만 귀속 알고리즘도 큰 단점이 있어 메모리 공간이 부족하여 메모리 넘침을 형성할 수 있다.그래서 이런 단점을 감안하여'규칙적 제약'을 도입한다. 매번 알고리즘의 시작 전에 알고리즘에 대해 규칙적 제약을 한다. 이런 제약은'귀기'로 이해할 수 있다.바로 이 귀환 기일에 이르러 부득이하게 하였다.
eg:1 + 2 + 3 + 4 +... + 100의 값을 계산합니다.
function fn(n){
if(n==1)return 1; //
return n+fn(n-1); //
}
console.log(fn(100));
eg:2 n과 1/n을 계산해!곱하기
1. n!
function fn(n){
if(n==1)return 1; //
return n*fn(n-1); //
}
console.log(fn(5));
2. 1/n!
function fn(n){
if(n==1)return 1; //
return 1/n*fn(n-1); //
}
console.log(fn(5));
eg:3 피폴라치 수열 (n번째 수의 수치 구하기)
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987……
function fn(n){
if(n==1||n=2)return 1; //
return fn(n-1)+fn(n-2); //
}
console.log(fn(8));
eg:4 함수를 작성하고 n을 짝수로 입력할 때 호출 함수는 1/2+1/4+...+1/n, n을 홀수로 입력할 때 함수를 호출하여/1+1/3+...+1/n
function fn(n){
if(n%2==0){
if(n<=2)return 1/2; //
return 1/n+fn(n-2); //
}
if(n%2!=0){
if(n==1)return 1; //
return 1/n+fn(n-2);
}
}
console.log(fn(4));
eg:5 제발 1!1/2!+1/3!+...+1/n!(귀속과 순환의 결합)
// function fn(n) {
// if (n == 1) return 1; //
// return 1 / n * fn(n - 1); //
// }
// console.log(fn(5));
// function fn1(n) {
// var sum = 0;
// for (i = 1; i <= n; i++) {
// sum += fn(i);
// }
// return sum;
// }
// console.log(fn1(5))
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.