배열의 빅오(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으로 생성됩니다. 문..

객체의 빅오(Big o)
자료구조 | 알고리즘 2022. 11. 25. 00:01

1. 객체의 빅오 let user = { name: 'lee', isAdult: true, favorite: ['coding','riding'] }; 위 객체는 user라는 변수에 key, value 3가지를 저장하고 있다. 객체는 정렬되어 있을 필요가 없을때 잘 작동하며, 빠른 접근, 입력과 제거를 원할 때 좋다. 빠르다고 하면 얼마나 빠른가? 입력 - o(1) 제거 - o(1) 검색 - o(N) 접근 - o(1) 시작과 끝이 없기 때문에 어디에 새로운 객체를 입력해도 상관이 없다. 단지 key를 사용해서 추가하는 것이죠. 객체는 위와 같이 검색을 제외하고는 상수의 시간( o(1) )을 가집니다. 그러나 검색은 선형 시간( o(N) )입니다. 검색은 user.name과 같은 key를 찾는 것이 아니다,..