Set 이 왜 더 빠른가? Set 은 해시테이블 자료구조를 갖고 있다고 한다.
2023.10.29 - [Computer Science] - [ 자료구조 ] 해시테이블 Hash Table
해시테이블 자료 구조란?
- Key,Value System 사용하여 데이터를 저장하는 자료구조이다.
- 키(Key), 해시함수(Hash function), 해시(hash), 값(value), 저장소(bucket)로 이루어져 있다.
장점 | 단점 |
---|---|
- 검색 속도가 빠르다 - 삽입, 삭제 작업이 O(1)이다. |
- 순서가 있는 배열에 어울리지 않는다. - 공간 복잡도가 높다. - 해시 함수의 의존도가 높다. - 해시 충돌이 발생할 수 있다. |
데이터 관리 메서드 & 시간 복잡도
Set | Array | |
---|---|---|
값이 있는지 확인하기 | set.has() => 시간 복잡도 : O(1) | array.includes() => 시간 복잡도: O(n) |
값을 추가하기 | set.add() => 시간 복잡도: O(1) | array.push() => 시간 복잡도: O(1) |
특정 값을 삭제하기 | set.delete() => 시간 복잡도: O(1) | array.filter() => 시간 복잡도 : O(n) |
Set을 사용하여 데이터 관리하면 좋은 경우
- 중복된 데이터가 없는 경우
- 값이 있는지 확인, 특정 값을 삭제하는 행위가 많은 경우
참조
'FrontEnd > JavaScript' 카테고리의 다른 글
[ JavaScript ] closest() (1) | 2023.10.29 |
---|---|
[ JavaScript ] 이벤트 위임 Event Delegation (1) | 2023.10.29 |
[ JavaScript ] 자바스크립트에서 private 변수 만들기 (feat. 클래스) (0) | 2023.10.27 |
[ JavaScript ] JSDoc : Providing Type Hints in JS via JSDoc (0) | 2023.10.27 |
[ JavaScript ] Class 문법 뽀개기 (0) | 2023.10.27 |