Like Lion : 24일차

김진권·2021년 12월 2일
0

like lion

목록 보기
20/22

재귀함수와 메모이제이션

	// 단순 재귀 피보나치
    function fib(n){
        if(n <= 2) {
            return 1;
        }
        return fib(n-1) + fib(n-2)
    }

	// 재귀, 메모이제이션 피보나치
    let fibo_cache = []
    function fibo(n){
      if (n in fibo_cache) {
        return fibo_cache[n]
      }
      fibo_cache[n] = n <= 2 ? 1 : fibo(n-2) + fibo(n-1)
      return fibo_cache[n]
    }

이미 계산된 값을 배열에서 꺼내와서 사용하기 때문에 메모리 절약 가능.

회고

수업을 통해 자바스크립트 개념들이 빠르게 지나가고 있다.

비록 절반밖에 못봤지만 관련 서적을 통해서 미리 접한 나도 개념이 헷갈리고 이해가 안되서 수업을 듣는 시간보다 웹 검색을 하는 시간이 더 많다.

자바스크립트를 처음 접하는 사람들은 정말 너무 힘들 것 같다.

다양한 개념들이 독립적으로 존재하는 것이 아니라 유기적으로 연결되어 있기 때문에 개념을 공부하는 순서를 정하기도 쉽지 않을 뿐더러 어디까지 공부해야 해당 개념을 확실히 이해한 것인지 감이 잘 잡히지도 않기 때문이다.

자바스크립트를 조금 먼저 본 초심자의 입장으로는 prototype, this, class, pass in value or reference, execution context, async 같은 개념은 수업 시간에 집중하는 것과 하루 복습만으로는 절대 따라갈 수가 없다. 계속해서 반복해서 보고 이해하려는 혼자만의 시간이 필요하다.

들을 수록 느끼는 점은 모든 것을 다 알 수는 없다는 점이다.
계속 접하면서 익숙해지는 것이 중요할 것 같다.

profile
start!

2개의 댓글

comment-user-thumbnail
2021년 12월 2일

너무 어렵네요 ㅜㅜ

1개의 답글