피보나치 수열 교체와 귀속 대비
1. 귀속 알고리즘
int recursion(int n)
{
if (n < 2)
return n;
else
{
return recursion(n - 1) + recursion(n - 2);
}
}
2. 귀속 알고리즘(정적 방법)
static int recursionS(int n)
{
if (n < 2)
return n;
else
{
return recursionS(n - 1) + recursionS(n - 2);
}
}
3. 교체 알고리즘
int Iteration(int n)
{
int a1, a2, a3;
if (n < 2)
return n;
a1 = a2 = a3 = 1;
while (n > 2)
{
n--;
a3 = a1 + a2;
a1 = a2;
a2 = a3;
}
return a3;
}
4. 호출
Stopwatch sw1 = new Stopwatch();
sw1.Start();
int i = Iteration(40);
sw1.Stop();
Response.Write(string.Format("{1} :{0}
", sw1.Elapsed, i));
Stopwatch sw = new Stopwatch();
sw.Start();
int r= recursion(40);
sw.Stop();
Response.Write(string.Format("{1} :{0}", sw.Elapsed, r));
Response.Write("
");
Stopwatch sw2 = new Stopwatch();
sw2.Start();
int r1 = recursionS(40);
sw2.Stop();
Response.Write(string.Format("{1} ( ):{0}", sw2.Elapsed, r1));
Response.Write("
");
5. 결과
102334155 교체 시간: 00:00.0001703102334155 귀속 시간: 00:00:06.5017408102334155 귀속 시간(정태):00:00:00:06.2556308
다음으로 전송:https://www.cnblogs.com/lecone/archive/2013/01/11/Fibonacci-Sequence-recursion-Iteration-comparison.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.