일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 맛집
- 미분적분학
- 자료구조
- Udemy
- 알고리즘
- Joseph Samuel Nye Jr.
- MySQL
- EBS
- 공부정리
- 조지프 나이
- python
- Hacker Rank
- 후기
- K-MOOC
- 빅데이터
- 데이터분석전문가
- ADsP
- ADP
- CNN10
- 누가 진정한 리더인가
- Great Minds
- Baekjoon
- KMOOC
- 데이터분석전문가가이드
- 백준
- Progate
- 위대한 수업
- 정치학
- 코테
- 당신이 몰랐던 진화론
Archives
- Today
- Total
ㅇ
[Udemy] JavaScript 알고리즘 & 자료구조 마스터클래스_Section 3 본문
Section 3: 배열과 오브젝트의 성능 평가
Object를 사용할 때
- 정렬할 필요가 없을 때
- 빠르게 접근, 입력, 제거를 원할 때
Object의 시간복잡도
- Insertion: O(1)
- Removal: O(1)
- Searching: O(N)
- Access: O(1)
Method의 시간복잡도
- Object.kyes: O(N)
- Object.values: O(N)
- Object.entries: O(N)
- hasOwnProperty: O(1)
Arrays를 사용할 때
- 순서가 필요할 때
- 빠르게 접근, 입력, 제거를 원할 때
Arrays의 시간복잡도
- Insertion: 상황에 따라 다르다
- Removal: 상황에 따라 다르다
- Searching: O(N)
- Access: O(1)
Arrays 작동들의 시간복잡도(굳이 알 필요 없)
- push, pop: O(1)
- shift,unshift, concat, slice, splice: O(N)
- sort: O(N * log N)
- forEach, map, filter, reduce, etc.: O(N)
배열의 끝에 추가 혹은 끝의 것을 제거하는 push, pop은 인덱스를 바꾸지 않으므로 걸리는 시간이 항상 같다. 다만 인덱스를 바꿔야 하는 작업인 shift, unshift는 선형 시간이 걸린다. concat은 여러 배열을 합치는 것이므로 늘어난 배열 원소의 갯수만큼 걸린다. slice는 배열의 일부를 가져오므로, 최대로 가져오는 전체일 경우 선형시간이 걸린다. splice은 배열 중간에 삽입하는 것이 가능하므로, 최대로 걸리는 시간은 선형시간이다.
반응형
'내 생각 > 강의' 카테고리의 다른 글
[EBS_위대한 수업] [정치학] 조지프 나이, 누가 진정한 리더인가_2강 권력의 주인 (0) | 2023.06.22 |
---|---|
[Udemy] JavaScript 알고리즘 & 자료구조 마스터클래스_Section 4 (0) | 2023.06.22 |
[EBS_위대한 수업] [정치학] 조지프 나이, 누가 진정한 리더인가_1강 리더를 찾는법 (0) | 2023.06.21 |
[Udemy] JavaScript 알고리즘 & 자료구조 마스터클래스_Section 2 (0) | 2023.06.20 |
[Udemy] 프로 일잘러를 위한 시간 관리법 (0) | 2023.05.26 |
Comments