Udemy - 배열과 오브젝트의 성능 평가
💡 BigO(빅오)의 관점에서 자바스크립트의 배열과 객체는 어떻게 작동하는가?
객체 (Object)
객체란, 순서가 배정되지 않은 “키-값” 구조로 저장된 데이터 구조다.
1 | let family = { |
- 특징
- 순서가 없다는 특징 때문에 접근 및 삽입/제거가 빠르다. O(1)
- 객체 탐색의 경우는 O(N)으로, 이 또한 속도가 빠른 편이다.
배열 (Array)
순서가 존재하는 데이터 구조.
1 | const dogs = ['jake', 'ppoya', 'apple']; |
시간 복잡도
배열의 첫 번째 인덱스에 삽입이나 제거 등의 동작이 일어날 때, 효율성에 문제가 생길 수 있다.
( 그 뒤의 아이템들이 밀리거나 당겨지며 인덱스가 변하기 때문)- 접근 : O(1)
- 끝부분 삽입 : O(1)
- 앞부분 삽입 : O(N)
- 앞부분 제거 : O(N)
- 이동 : O(N)
Udemy - 배열과 오브젝트의 성능 평가