Udemy에서 Colt Steele의 JavaScript Algorithm & Data Structures MasterClass를 수강하면서 정리한 내용입니다. Big O 같은 기능을 구현하는데도 여러 가지 접근 방법이 있다. 무엇이 최선인지, 코드의 성능(perforamance)을 비교하는 방법 코드의 성능에 대해 정확한 어휘로 말할 수 있는 것이 중요하다. 코드가 느리거나 충돌할 때, 문제가 발생할 수 있는 부분을 찾아내는 데 유용하다. 더 좋은 코드는 무엇인가? 더 빠른? 브라우저에 내장된 timer를 사용하여 속도를 잴 수 있다. 시간 측정의 문제 컴퓨터나 브라우저 사양에 따라 다른 시간이 기록될 수 있다. 같은 머신도 다른 시간을 매번 측정할 수 있다. 메모리를 덜 쓰는? 가독성이 좋은? Timing Our C
const data = [1, 2, [3, 4, [5, [6]]]]; 위와 같은 중첩 배열을 아래와 같이 정보를 담아 트리 구조로 출력하려면 어떻게 해야할까? 객체 정보 출력 나는 이 문제를 해결하기 위해 재귀함수를 사용했다. 재귀함수의 사전적 정의는 정의 단계에서 자신을 재참조하는 함수이다. 재귀함수에 대하여 이해도가 높지 않았기에, 콘솔에 중간 결과값을 찍어가고 시각화하며 이해하려고 노력하였다. 일단 코드부터 살펴보자. parseArray라는 함수 안에 동일한 parseArray 함수가 재귀호출되고 있다. 최종적으로 stack이라는 빈 배열에