udemy 에서 Master the Coding interview: Data Structures & Algorithms 강의를 수강한 내용을 정리하는 포스팅입니다.
Array
- 배열은 연속된 메모리내의 데이터의 집합으로 이루어진 자료구조를 의미한다.
- 자바스크립트의 경우 배열의 크기를 미리 정해놓지 않고 사용하여 Dynamic Array 를 사용하는 것으로 볼 수 있다.
- push 나 pop 이 아닌 insert 나 delete 작업의 경우 시간 복잡도가 O(n) 이다.
-인덱스를 알면 원하는 정보에 빠르게 접근가능하다.
-자바스크립트의 배열은 객체이며 따라서 클래스를 이용해 스스로 구현할 수 도 있다.
class MyArray { constructor() { this.length = 0; this.data = {}; } get(index) { return this.data[index]; } push(item) { this.data[this.length] = item; this.length++; return this.data; } pop() { const lastItem = this.data[this.length - 1]; delete this.data[this.length - 1]; this.length--; return lastItem; } deleteAtIndex(index) { const item = this.data[index]; this.shiftItems(index); return item; } shiftItems(index) { for (let i = index; i < this.length - 1; i++) { this.data[i] = this.data[i + 1]; } console.log(this.data[this.length - 1]); delete this.data[this.length - 1]; this.length--; } }
- 배열자료구조의 장단점은 아래와 같다.

'TIL > ZTM Data Structures and Algorithms' 카테고리의 다른 글
ZTM Data Structures & Algorithms - Graph (0) | 2021.08.28 |
---|---|
ZTM Data Structures & Algorithms - Tree (0) | 2021.08.28 |
ZTM Data Structures & Algorithms - Stacks & Queue (0) | 2021.08.22 |
ZTM Data Structures & Algorithms - Linked List (0) | 2021.08.22 |
ZTM Data Structures & Algorithms - Hash Tables (0) | 2021.07.26 |
댓글