자료구조 시간 복잡도
자료구조별 시간 복잡도
실무에서 주로 사용했던 자료구조 시간복잡도를 정리해봤다 작업의 시간복잡도를 보고 효율적인 자료구조를 선택하자
자료구조 | 접근 | 검색 | 입력 | 삭제 |
---|---|---|---|---|
array list | O(1) | O(n) | O(n) | O(n) |
set | O(1) | O(1) | O(1) | O(1) |
stack | O(n) | O(n) | O(1) | O(1) |
queue | O(n) | O(n) | O(1) | O(1) |
singled-linked list | O(n) | O(n) | O(1) | O(1) |
doubly-linked list | O(n) | O(n) | O(1) | O(1) |
hash table | N/A | O(log(n)) | O(log(n) | O(log(n) |
binary tree | O(log(n)) | O(log(n)) | O(log(n)) | O(log(n)) |
습관적으로 탐색할 때도 list를 많이 사용했는데 탐색할 때는 list 대신 set을 사용하자