3-2. Data Structure - Time Complexity
·
BootCamp_Codestates/IM Tech Blog
Complexity Analysis? 알고리즘 문제를 풀 때 시간과 공간을 얼마나 차지하는지 보여주는 지표 이는 곧 효율성을 의미한다. About time complexity... 문제가 커질수록 걸리는 시간이 빠르게, 천천히 또는 거의 변화가 없을수도 있다. n개의 요소들 중에서 가장 큰 수와 작은 수의 차이를 찾는다. 1. 모든 가능성을 시도할 경우. n^2 2. 가장 큰 수와 작은 수를 찾아 시도할 경우. 2n 3. Sort를 이용하여, 첫번째요소, 마지막요소, 빼기연산 => constant * 시간복잡도 = 3 Big-O Notation gives an approximation of time complexity 함수 T(n)인 시간복잡도에서 가장 영향력이 큰 부분이 어디인지 따져보는것. 영향력이 ..
3-1. Inheritance Patterns - Subclassing, Prototype Chain
·
BootCamp_Codestates/IM Tech Blog
목표 __proto__, constructor, prototype 이 각각 어떤 관계를 가지고 있는지 조사해봅니다. Object.create 메소드에 대해 이해합시다. ES6 class 키워드 및 super 키워드 이용 방법을 알아봅니다. 1. 용어 정리 Subclassing : 부모로부터 상태(constructor)와 행위(method)를 상속받고 자기 자신의 고유 특성도 추가할 수 있는 상속 방법. Prototype : 자바스크립트의 모든 객체들은 부모 객체를 가지고, 연결되어 있는데 이 부모 객체가 프로토타입 객체(prototype)입니다. 덕분에, 객체 지향 프로그래밍의 상속 개념처럼 부모 객체의 프로퍼티와 메소드를 사용할 수 있습니다. 마찬가지로, 생성자 함수로 생성된 모든 객체가 프로퍼티, 메..
3. Inheritance Patterns - Object Oriented Programming
·
BootCamp_Codestates/IM Tech Blog
OOP(Object Oriented Programming) How to make Object in Javascript 프로그래밍 = 소프트웨어의 추상화 현실의 복잡함 => 필요한 관점 추출하여 추상화 1. OOP? 일종의 프로그래밍 패러다임. 로직을 상태(state=>member variable)와 행위(behave)로 이루어진 객체로 만드는 것. 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑 하는 것. 그룹핑한 것이 객체. 자동차의 공통적인 속성, 기능이 있을 것이다. ⇒ 그러면 자동차라는 class를 하나 만들어두면, 이를 베이스로 여러가지 자동차 object를 뽑아낼 수 있다. class 는 prototype, 즉, 세부사항이 아직 들어가지 않은 청사진으로 볼 수 있고, ⇒ 여기세 ..
2-1. Data Structure - Linked-list, HashTable
·
BootCamp_Codestates/IM Tech Blog
Linked-list 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조이다. 각각의 노드는 데이터와 다음노드가 무엇인지 알려주는 주소(링크)를 가지고 있다. 링크를 통해서 데이터를 추가 / 삭제 / 탐색 가능 한데, 특히 추가에 용이하다. 사용예시: 플레이리스트, 이미지 뷰어 등 Singlylinkedlist, doublylinkedlist, Circularlinked lists 등이 있다. 저장은 차례대로지만 메모리들은 무조건적으로 연속적으로 위치하지는 않는다. 링크 메모리(링크 하나: 4byte)를 필요로 한다. 프로그램 수행시 크기가 동적으로 변화하기 때문에 메모리 공간 낭비가 적다. 링크드 리스트 VS 배열 링크드 리스트 메모리상에 원소들이 연속적으로..
2. Data Structure - Stack, Queue
·
BootCamp_Codestates/IM Tech Blog
helloworldjavascript.net/pages/282-data-structures.html 큐, 스택, 트리 · JavaScript로 만나는 세상 큐, 스택, 트리 어떤 데이터의 구체적인 구현 방식은 생략한 채, 데이터의 추상적 형태와 그 데이터를 다루는 방법만을 정해놓은 것을 가지고 ADT(Abstract Data Type) 혹은 추상 자료형이라고 합니다. helloworldjavascript.net 자료구조란? 데이터를 정리하고, 유용하게 활용할 수 있는지 정의해 놓은 것 Stack 먼저 들어간 게 나중에 나오는 First In Last Out or Last In First Out 구조 스택에 할당된 공간이 꽉 차면 더 이상 Push 할 수 없다. 아래 처럼 재귀 함수 실행 시 사용된다. 컴..
1-1. IM Prep - modern JavaScript
·
BootCamp_Codestates/IM Tech Blog
화살표 함수 this 키워드 call, apply 메소드 bind 메소드 화살표 함수 1. 함수 표현식을 축약할 수 있다. 1) function 제거하고 인수 다음에 => 추가 2) return 제거(본문에 return만 있는경우) or {} + return 조합 2. call, apply, bind 사용불가 var adder = { base : 1, addThruApply : function(a) { var f = v => v + this.base; var b = { base : 100 }; return f.apply(b, [a]); }, addThruCall: function(a) { var f = v => v + this.base; var c = { base : 100 }; return f.call..