배열(Array)과 객체(Object)의 성능평가

minho·2022년 2월 23일
0

배열의 접근

배열은 인덱스 번호를 가지고 있다.
그러므로 어떤 배열의 요소에 접근하는것은 단순히 인덱스번호를 찾는것이므로 시간복잡도는 O(1)이다.

배열 입력 시간복잡도

Ex1

const Array = ['one', 'two', 'three'];

위에서 push를 사용해 요소를 추가한다면 시간복잡도는 어떻게 될까?

const Array = ['one', 'two', 'three', 'four'];
				1		2		3		 4

각 요소의 인덱스의 번호가 바뀌지 않고 뒤에 추가만 해주면 되기 때문에 시간복잡도는 O(1)이다.

Ex2

그러나 unshift를 사용해서 요소를 맨 앞으로 추가하면 어떻게 될까?

const Array = ['four', 'one', 'two', 'three', ];
				 1		 2		3		4

각각의 요소 인덱스 번호가 바뀐다.
즉, 요소 인덱스 번호를 하나하나 다시 지정해줘야 하므로 시간복잡도는 O(n)이 된다.

그러므로 시간복잡도의 측면으로 봤을때 push,popshift,unshift보다 빠르다.

profile
Live the way you think

0개의 댓글

관련 채용 정보