Programming Language/Language

Javascript Algorithm) 알고리즘과 복잡도

HJChung 2020. 4. 4. 19:47

Intro.

더보기

Achievement Goals

재귀

  • 재귀 개념을 이해할 수 있다
  • 무한 loop에 빠지지 않도록 재귀를 이용할 수 있다
  • (Advanced) call stack이 넘친다는 것의 의미를 이해할 수 있다

복잡도

  • time complexity에 대해 이해하고, Big-O notation으로 표기할 수 있다
  • time complexity의 주요 case들과 실제 사용 예가 어떠한 것이 있는지 알 수 있다
  • 코드를 보고 time complexity가 어떠한지 이해할 수 있다
  • (Advanced) once, memoize의 구현 원리를 이해할 수 있다
  • (Advanced) delay, throttle의 구현 원리를 이해할 수 있다
  • (Advanced) 코드를 재사용할 수 있는 패턴이 어떠한 것이 있는지 알 수 있다. 1) 

 

1) 재귀란

어떤 함수가 스스로를 호출하는 것. 

 

ex)

function fac(n){
	if(n===1){
    	return 1;
    }
    
    return n * fac(n-1);
}

2) 아래는 예전에 c 알고리즘에서 재귀공부한 필기자료