You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
그림을 보니 `fib(3)`은 두 번 평가된다는 것이 좀 더 명확히 보이네요. `fib(2)`는 세 번이나 평가되기까지 합니다. `n`이 증가하는 속도보다 전체 연산 횟수가 더 빨리 증가한다는 것을 아실 수 있겠죠? `77`은 그리 큰 숫자가 아니지만`n=77`일 경우 엄청난 수의 연산이 일어난다는 것을 알 수 있습니다.
34
+
그림을 보니 `fib(3)`은 두 번 평가된다는 것이 좀 더 명확히 보이네요. `fib(2)`는 세 번이나 평가됩니다. 이렇게 재귀를 사용해 피보나치 수열을 구현하면 `n`이 증가하는 속도보다 전체 연산 횟수가 더 빨리 증가합니다. `77` 자체는 그리 큰 숫자가 아니지만, 피보나치 수열에서 `n=77`일 경우엔 엄청난 수의 연산이 일어나죠.
35
35
36
-
이런 단점을 극복하기 위해 이미 평가된 값을 어딘가에 저장해놓는 식으로 최적화를 할 수 있습니다. `fib(3)`의 계산이 끝나면 이 결과를 어딘가에 저장해 놓았다가 같은 값이 필요할 때 저장된 값을 불러오는 식으로 말이죠.
36
+
이런 단점은 이미 평가된 값을 어딘가에 저장해놓는 식으로 최적화 할 수 있습니다. `fib(3)` 계산이 끝나면 이 결과를 어딘가에 저장해 놓았다가 같은 값이 필요할 때 저장된 값을 불러오는 식으로 말이죠.
37
37
38
-
또 다른 방법으론 재귀가 아닌 반복문을 기반으로 하는 알고리즘을 짜는 것입니다.
38
+
또 다른 최적화 방법은 재귀가 아닌 반복문을 기반으로 하는 알고리즘을 짜는 것입니다.
39
39
40
-
`n`부터 시작해 숫자를 하나씩 줄이며 원하는 값을 구하는 대신 `1`과 `2`로 시작하는 반복문으로 `fib(3)`을 구하고, 이를 기반으로 `fib(4)`를 구하고, 또 이를 기반으로 `fib(5)`를 구하는 식으로 알고리즘을 구현할 수 있을 겁니다. 이렇게 알고리즘을 구현하면 이전 두 항의 값만 저장하면 되죠.
40
+
`n`부터 시작해 숫자를 하나씩 줄이며 원하는 값을 구하는 대신 `1`과 `2`로 시작하는 반복문으로 `fib(3)`을 구하고, 이를 기반으로 `fib(4)`를 구하고, 또 이를 기반으로 `fib(5)`를 구하는 식으로 알고리즘을 구현할 수 있습니다. 이렇게 구현하면 이전 두 항의 값만 저장하면 되죠.
Copy file name to clipboardExpand all lines: 1-js/06-advanced-functions/01-recursion/03-fibonacci-numbers/task.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@ importance: 5
3
3
---
4
4
# 피보나치 수 계산하기
5
5
6
-
[피보나치 수](https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열로, <code>F<sub>n</sub> = F<sub>n-1</sub> + F<sub>n-2</sub></code>이라는 공식으로 표현됩니다.
6
+
[피보나치 수](https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98)는 첫째와 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열로, <code>F<sub>n</sub> = F<sub>n-1</sub> + F<sub>n-2</sub></code>라는 공식으로 표현할 수 있습니다.
7
7
8
-
수열의 처음 두 숫자는`1`이고, 그 다음 항들은 `2(1+1)`,`3(1+2)`,`5(2+3)`가 됩니다(`1, 1, 2, 3, 5 , 8, 13, 21 ...`).
8
+
처음 두 항은`1`이고, 그다음 항들은 `2(1+1)`,`3(1+2)`,`5(2+3)`이므로 전체 수열은 `1, 1, 2, 3, 5 , 8, 13, 21 ...` 형태를 띱니다.
9
9
10
10
피보나치 수는 [황금 비율](https://en.wikipedia.org/wiki/Golden_ratio) 등 우리 주변을 둘러싼 수많은 자연 현상과 관련이 있습니다.
0 commit comments