배열(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개의 댓글