알고리즘의 복잡도
2024. 10. 25. 09:59ㆍ기타(이론)/알고리즘
Binary Search
더보기
θ(logn)
Factorial
더보기
O(n)
X^n
더보기
O(n)
피보나치
더보기
T(n) < C*2^n
MergeSort
더보기
T(n)=2T(n/2)+n
θ(nlogn)
하노이 타워
더보기
T(n)=T(n-1)+1+T(n-1)
T(n)=2^n-1
SelectionSort
더보기
T(n)=O(n^2)
BubbleSort
더보기
O(n^2)
InsertionSort
더보기
O(n^2)
QuickSort
더보기
O(n^2)
HeapSort
더보기
O(nlogn)
Build-Max-Tree
더보기
O(nlogn), 운 좋으면 O(n)
Hybrid Approach (Quicksort와 Insertion Sort의 결합)
더보기
O(n log n)
- 평균 시간 복잡도: O(n log n)
- 최악의 경우 시간 복잡도: O(n log n) (피벗 선택을 무작위화하거나 중앙값을 선택하는 방법 등으로 최악의 경우 발생 확률을 낮출 수 있음)
- 작은 배열에 대한 Insertion Sort 부분: 이 부분은 O(k²)로 매우 작은 상수 크기(k)에 대해 처리되기 때문에 전체 성능에 큰 영향을 미치지 않음.
배열이 이미 정렬되어 있는 상태일 때!
선택정렬
더보기
O(n^2)
버블정렬
더보기
O(n^2)
삽입정렬
더보기
O(n)
병합정렬
더보기
O(nlogn)
퀵정렬
더보기
O(n^2)
힙정렬
더보기
O(nlogn)
안정성을 유지하지 않는 정렬
선택 정렬 : 최댓값 중 가장 뒤에 있는 것을 최댓값으로 삼으면 안정성을 유지할 수 있다.
퀵 정렬(피봇 활용)
힙 정렬
'기타(이론) > 알고리즘' 카테고리의 다른 글
[Binary Search Tree] (1) | 2024.11.24 |
---|---|
T(n) (1) | 2024.10.01 |
[파이썬] Pandas Library (0) | 2023.09.03 |
[순환] 멱집합(Powerset) (0) | 2023.07.22 |