Selection sort 선택정렬 |
Θ(n^2)
|
Bubble sort 버블정렬 | |
Insertion sort 삽입정렬 | |
Quicksort 퀵정렬 | 최악 Θ(n^2), 평균 Θ(nlog2n) |
Merge sort 병합정렬 | Θ(nlog2n) |
Heap sort 힙정렬 | Θ(nlog2n) |
Radix sort 기수정렬 | Θ(n+k) |
Counting sort 계수 정렬 | Θ(d(n+k)) |
Selection Sort 선택정렬
selectionSort(A[], n) // 배열 A[1...n]을 정렬한다.
{
for last ← n downto 2 {
A[1...last] 중 가장 큰 수 A[k]를 찾는다;
A[k] ↔ A[last]; // A[k]와 A[last]의 값을 교환
}
}
수행 시간은 모든 경우에 Θ(n^2)
Bubble Sort 버블정렬
버블정렬이 이름의 유래는 이번에 찾아보면서 처음 알게되었다
수면으로 올라오는 듯한 모습이라니 느낌 있지 않나요?
bubbleSort(A[], n) ▷ 배열 A[1...n]을 정렬한다.
{
for last ← n downto 2 { --------1
for i ← 1 to last -1 -----------2
if (A[i]>A[i+1]) then A[i] ↔ A[i+1]; ▷ 교환 -----3
}
수행시간 Θ(n^2)
Insertion Sort 삽입정렬
insertionSort(A[], n) ▷ 배열 A[1...n]을 정렬한다.
{
for i ← 2 to n { -----------------1
A[1...i]의 적당한 자리에 A[i]를 삽입한다. -------2
}
최악의 경우 Θ(n^2)
'🖥' 카테고리의 다른 글
[VS Code] 자동 줄간격 맞춤 (Auto Indent) + 단축키 바꿔주기 (0) | 2022.05.22 |
---|---|
[Vue.js] Vue.js 설치 (0) | 2022.05.22 |
LCS 최장 공통 부분 순서 구하기 (Python 코드) (0) | 2022.05.17 |
[Python] Slice로 부분 리스트, 부분 문자열 구하기 (0) | 2022.05.09 |
Visual Studio Code에서 탭으로 괄호 밖으로 나가기 (0) | 2022.05.08 |
댓글