현재 컴퓨터에서 n 번째 피보나치 수를 계산하는 데 얼마나 많은 시간이 필요한지 아는 방법은 무엇입니까? 예를 들어, 현재 시스템에서 30 번째 요소는 67ms에서 계산되고 40 번째 요소는 554ms에서 계산됩니다. 99 번째 요소의 시간을 계산하는 방법은 무엇입니까?n 번째 피보나치 수의 재귀 계산 시간을 계산하는 방법은 무엇입니까?
int fib(int n)
{
if(n <= 2)
return 1
else
return fib(n-1) + fib(n-2)
}
UPDATE
피보나치 N 번째 대 MS http://pastebin.com/PGnd54Hq
matlab에 (시간 현재 PC는 n 번째 피보나치 요소, MS 시간 계산했다) : 코드 http://pastebin.com/L9CH53Pf
을N 번째 요소의 시간을 찾는 방법은 무엇입니까?
"현재 컴퓨터"는 무엇을 의미합니까? 문제는 불분명하다. 또한 모든 종류의 추정은 알고리즘의 종류에 따라 달라집니다. 그것은 꼬리 재귀인가? 매 호출마다 스택 프레임을 밀고 있습니까? 이 질문으로 무엇을 얻고 있습니까? –
내 컴퓨터 - 현재 PC에서 재귀 알고리즘이 실행 중입니다. 아마도 또 다른 가능한 해결책은 얼마나 많은 단계가 필요한지 (전체적으로) 파악하고 이것을 한 단계의 시간으로 곱하는 것입니다. 그러나 한 단계에 필요한 시간을 어떻게 계산할 수 있습니까? –