배열 메서드의 Big O
자료구조 | 알고리즘 2022. 11. 30. 14:41

push - O(1) pop - O(1) shift - O(N) unshift - O(N) concat - O(N) slice - O(N) splice - O(N) sort - O(N* log N) forEach , map, filter , reduce ..etc - O(N) push, pop , shift unshift는 이전 글에서 설명했기 때문에 생략하겠습니다. concat concat의 경우에는 여러 배열을 합쳐 줍니다. 결합할 배열이 커질수록, 끝에 붙일 배열의 크기 만큼 시간도 그만큼 늘어나기 때문에 O(N)입니다. slice slice는 배열의 일부를 가져오거나 전체를 가져올수 있습니다. 엘리먼트 갯수만큼 걸리는 시간이 소요되기 때문에 O(N)입니다. splice splice는 slice와 ..

배열의 빅오(Big o)
자료구조 | 알고리즘 2022. 11. 28. 20:53

1. 배열은 객체와 다르게 데이터가 정렬되어 있다. 2. 정렬되어 있는 것이 필요하다면 유용하지만 연산을 하는 시간이 조금 더 걸린다. 추가 - O(N) || O(1) 제거 - O(N) || O(1) 검색 - O(N) 접근 - O(1) 접근 접근은 객체와 동일한 O(1)이며, 추가와 제거는 유동적입니다. 배열 추가와 제거 const 예시 = ['코딩','자바스크립트','자료구조'] // 코딩 = 0 , 자바스크립트 = 1, 자료구조 = 2 배열은 각 엘리먼트마다 붙어 있는 index가 존재합니다. 예시에서 새로운 값을 push 한다면 객체와 다를것이 없는 O(1) 작업으로 상수 시간입니다. 코딩 = 0 , 자바스크립트 = 1, 자료구조 = 2의 인덱스 값의 변화 없이 새로운 값 = 3으로 생성됩니다. 문..