검색결과 리스트
글
10/16
학교/소프트웨어공학
2012. 10. 16. 11:29
recursion vs nonrecursion
recursion
rule1: fib(1)=0
rule2: fib(2)=1
rule3: fib(n)=fib(n-1)+fib(n-2)
main(){
fib(50);
}
prob: redundancy , n-1과 n-2 양쪽에서 중복된 계산 발생
norecursion:
fib(n)=tmp1=0
temp2=1;
for i=3 to n
tmp = tmp1+tmp2
tmp1=tmp2;
tmp2=tmp
prob1: lengthy code , 피보나치 규칙이 명확히 안보인다.
최종판
rule1: fib[1]=0
rule2: fib[2]=1
rule3: fib[n]=fib[n-1]+fib[n-2]
rule4: fib[3]=2
main()
{
for i=3 to n
fib[n]=fib[i-1]+fib[n-2]
}
choice or,and sequential or,and