Algorithm 43

배열(Arrays)과 객체(Objects)의 성능 평가

Objects const instructor = { firstName = "Kelly", isInstructor = true, favoriteNumbers = [1,2,3,4]; } Objects 의 Big O Insertion(삽입) - O(1) Removal(삭제) - O(1) Searching(탐색) - O(n) Access(접근) - O(1) 객체는 정렬되어 있을 필요가 없을때 잘 작동하며, 빠른 접근, 입력과 제거를 원할 때 좋다. 여기서 말하는 탐색은 key를 말하는 것이 아니라, 어떤 특정한 정보가 어떤 값에 있는지 확인하는 것을 뜻한다. (firstName을 찾는 것이 아니라는 뜻이다.) 이때 모든 아이템에 모든 속성을 확인해야 한다.(풀스캔) Object Methods 의 Big O Ob..

Algorithm 2022.07.09

Big O 표기법

Big O 표기법이란? 알고리즘의 효율성을 표기해주는 표기법을 뜻한다. 보통 알고리즘의 시간 복잡도와 공간 복잡도를 나타내는데 주로 사용되며, 시간 복잡도는 알고리즘의 시간 효율성을 의미하고, 공간 복잡도는 알고리즘의 공간(메모리) 효율성을 의미한다. (여기서 말하는 알고리즘의 효율성은 데이터 개수(n)가 주어졌을 떄 덧셈, 뺄셈, 곱센 같은 기본 연산의 횟수를 뜻한다.) Time Complexity function addUpTo(n) { return n * (n + 1) / 2; } 이 경우 빅오표기법으로 나타냈을때 알고리즘의 효율성은 O(1) 이다. function addUpTo(n) { let total = 0; for (let i = 1; i 상수는 중요하지 않다. (Constnats Don't ..

Algorithm 2022.07.09