피보나치 수열의 귀속과 교체 실현
6397 단어 JAVA 노트
귀속과 교체의 차이
귀속: 귀속은 함수 안에서 자신을 호출하는 것이다.귀환은 주로 두 가지 과정으로 나눌 수 있는데 그것이 바로 추이와 회귀이다.이른바 점차적인 추론이란 복잡한 문제의 해답을 원래의 문제보다 간단한 몇 가지 문제의 해답으로 추론하는 것이다.회귀는 가장 간단한 문제를 얻은 후에 점차적으로 되돌아와 순서대로 복잡한 문제의 해를 얻는 것이다.
교체: 교체는 변수의 원값을 이용하여 변수의 새로운 값을 추산하는 것이다.
피보나치 수열의 귀속과 교체 실현
반복 구현:
public class Solution {
public int Fibonacci(int n) {
if(n>39){
return -1;
}
if(n<=0){
return 0;
}
if(n==1){
return 1;
}
else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
}
실행 시간: 944ms 시간 복잡도 O (n)
반복 구현:
public class Solution {
public int Fibonacci(int n) {
int st =0;
int nd =1;
int sum =0;
if(n>39){
return -1;
}
if(n<=0){
return 0;
}
if(n==1){
return 1;
}
for(int i=2;i<=n;i++){
sum = st + nd;
st = nd;
nd = sum;
}
return sum;
}
}
실행 시간: 18ms, 복잡성 O(n)
해석: 운행 시간에서 우리는 이 두 단락의 프로그램 성능을 볼 수 있다.교체 방법으로 이 문제를 처리할 때, 운행 시간은 순환 횟수가 증가함에 따라 증가한다.귀속 방법으로 처리할 때 귀속은 자신의 함수를 호출하고 함수 호출은 운행 시간을 증가시킨다.귀속 방법을 사용하는 것도 장점이 하나 있는데 코드가 간결하고 읽기 쉽다는 것이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
09_프로필을 읽는 방식으로 반사를 사용하여 실례 대상에 대한 호출을 완성합니다텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.