취업을 위한 코딩테스트 준비를 다시 시작하면서 이제 다시 감을 잡아가고있다. 여러 곳에서 정보를 찾아보고 다른 분들과 이야기 하면서 문제를 풀기 전에 check 해야 하는 부분들에 대해 알게되고 이를 점차 적용하기 시작했는데 계속 새로운 부분들이 나오게 된다.
알고리즘 | 시간 복잡도 | 공간 복잡도 |
---|---|---|
Binary Search | O(NlogN) | O(N) |
Quick Sort | 평균 O(NlogN), 최악 O(N^2) | O(V) |
Dijkstra | O(ElogE) or O(ElogV) | O(V+E) |
DFS & BFS | O(V+E) | O(V+E) |
Counting Sort | O(N) | |
Quick Sort | 평균 O(NlogN), 최악 O(N^2) |
Arrays.sort : DualPivotQuicksort(평균 O(NlogN), 최악 O(N^2))
Collections.sort : TimeSort(삽입 + 합병) O(NlogN)