We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 9cf7d2a commit f56ba57Copy full SHA for f56ba57
1 file changed
CS/Sort/do02reen24/sort.md
@@ -0,0 +1,29 @@
1
+# 📚 Sort
2
+
3
+## ⏰ 시간복잡도
4
5
+| Name | 최선 | 평균 | 최악 | 메모리 |
6
+| :------: | :------: | :------: | :------: | :-----: |
7
+| 버블정렬 | O(n) | O(n^2) | O(n^2) | O(1) |
8
+| 선택정렬 | O(n^2) | O(n^2) | O(n^2) | O(1) |
9
+| 삽입정렬 | O(n) | O(n^2) | O(n^2) | O(1) |
10
+| 힙정렬 | O(n) | O(nlogn) | O(nlogn) | O(1) |
11
+| 병합정렬 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) |
12
+| 퀵정렬 | O(nlogn) | O(nlogn) | O(n^2) | O(logn) |
13
14
+## 🔎 퀵정렬
15
16
+### 병합 정렬과의 공통점
17
18
+- Divide and Conquer(분할-정복) 알고리즘에 속함
19
+- 둘 다 점점 탐색할 배열의 크기를 쪼개서 재귀함수에 넘겨줌
20
21
+### 병합 정렬과의 차이점
22
23
+- 병합 정렬과 달리 다른 메모리 공간을 사용하지 않음
24
+- 병합정렬을 `stable` 하지만, 퀵 정렬을 `unstable`함. (원소들 중 같은 값이 있는 경우 초기 순서가 달라질 수 있기 때문)
25
26
+### 분할 방법
27
28
+1. Lomutos' Partition (배열의 맨 마지막 값을 pivot으로 정하는 방식)
29
+2. Hoare's Parition (물리적으로 배열의 중간값을 pivot으로 정하는 방식)
0 commit comments