본문 바로가기

코드스테이츠

[JavaScript] Data Structure - Stack, Queue Reference - 코드 스테이츠 이머시브 코스 - Data Structure 강의 자료구조 (Data Structure) 란? 데이터 자료구조는 컴퓨터 저장공간의 효율성과 실행의 신속성을 높이기 위해 일정한 규칙에 따라 데이터를 구조화한 것이다. 배우면 좋은 이유? 자료구조를 짜는 법을 이해하게 되면 앞으로 더욱 실용적인 코드를 짤 수 있게 된다. 각각의 자료구조는 저마다 탄생된 배경이 있고 각각의 장단점이 모두 다르다. 완벽한 자료구조란 존재하지 않는다. 그래서 자료구조를 배운다면 내가 무언가를 구현할 때 필요한 자료구조가 무엇인지 파악할 수 있게 된다. 또한 면접에서도 자주 나오는 단골 주제이니 배워두면 좋다. 자료구조에 대해 찾아보던 중 아래 영상을 보게 되었는데, 유튜버가 자료구조가 많은 곳에.. 더보기
200728_Data Structure (graph, tree, bst), 시간복잡도 오늘 배운 것. 무방향 그래프, 트리, 바이너리 서치 트리 코드로 구현. BIg O notation을 이용한 시간복잡도 표현 O(1) - O(log n) - O(n) - O(n log n) - O(n^2) - O(n^3) - O(2^n) 순으로 복잡도 올라감. 더보기
200723_Data Structure 오늘 배운 것. Queue와 Stack의 차이점 이론상의 Queue와 Stack을 코드로 구현하는 방법 데이터를 Array가 아닌 Object의 담아 구현하는 이유 Array 메소드 pop, push, shift, unshift를 쓴다면 훨씬 코드 구현이 쉬워지지만 배열 메소드들은 모든 배열의 요소를 돌기때문에 O(n)의 시간복잡도를 갖는다. 하지만 Object로 구현한다면 정확한 타켓팅이 가능해서 O(1)의 시간 복잡도를 갖는다. 아래 링크로 Queue를 Object로 구현하는 법에 대해 상세한 설명이 있다. https://medium.com/@mayashavin/ds-queue-implementation-in-js-21ea5914c428 DS — Queue implementation in JS Eve.. 더보기
[JavaScript] this, call, apply, bind Reference - 자바스크립트 심화개념 in 코드스테이츠 프리코스 this는 실행 컨텍스트 (Execution Context)에 속한다. 어떤 함수가 호출되면, 실행 컨텍스트가 생성되고 call stack에 메모리를 push하고 함수를 벗어나면 call stack에서 pop한다. 실행 컨텍스트는 Scope 별로 생성되고 그 안에는 Scope 내 변수 및 함수 (Local, Global), 전달 인자 (arguments), 호출된 근원 (caller) 그리고 this가 있다. 'this' keyword this는 모든 함수 scope 내에서 자동으로 설정되는 특수한 식별자로 위에서 말한 실행 컨텍스트의 구성 요소 중 하나이다. this는 함수가 실행되는 동안 이용할 수 있다. 5 Patterns of .. 더보기