JS ⌳ Array

ijuhae·2020년 10월 9일
0

JS

목록 보기
1/2
post-thumbnail

일반적으로 배열은 요소가 하나의 타입으로 통일되어 있으며 메모리 공간이 연속적으로 나열된 밀집 배열을 의미한다. 하지만 JS의 배열은 각각의 요소가 동일한 크기를 갖지 않아도 되며 메모리 공간이 연속적이지 않을 수 있는 희소 배열이다.

밀집 배열은 메모리가 연속적이기 때문에 인덱스를 통해 임의의 요소에 접근하는 경우 시간 복잡도가 O(1)이다. 하지만 정렬되지 않았을 경우, 특정한 값을 탐색할 때 모든 배열 요소를 처음부터 값을 발견할 때까지 선형탐색을 할 경우 시간 복잡도가 O(n)이 된다. 또한 배열에 요소를 삽입하거나 삭제하면 메모리 공간의 연속성을 위해 요소를 이동시켜야 한다.

JS 배열은 해시 테이블로 구현된 객체이므로 인덱스로 배열 요소에 접근할 경우 밀집 배열보다 느리다. 하지만 특정 요소를 탐색, 삽입, 삭제 하는 경우 밀집 배열보다 빠를 수 있다.

ref >
자바스크립트 배열은 배열이 아니다

0개의 댓글