티스토리 뷰
반응형
정렬 알고리즘 중 가장 빠른 성능을 가짐
시간 복잡도 : 평균 : O( n log(n) )
최악의 경우 : O(n^2)
피벗 : 배열의 정 중앙위치의 값
분할 정복 방법을 아용하여 배열을 정렬하는 방법으로 피벗을 중심으로 배열을 둘로 나누어 값을 비교하여 정렬
1. 리스트 가운데서 하나의 원소를 고른다. 이렇게 고른 원소를 피벗이라고 한다.
2. 피벗 앞에는 피벗보다 값이 작은 모든 원소들이 오고, 피벗 뒤에는 피벗보다 값이 큰 모든 원소들이 오도록 피벗을 기준으로 리스트를 둘로 나눈다. 이렇게 리스트를 둘로 나누는 것을 분할이라고 한다. 분할을 마친 뒤에 피벗은 더 이상 움직이지 않는다.
3. 분할된 두 개의 작은 리스트에 대해 재귀(Recursion)적으로 이 과정을 반복한다. 재귀는 리스트의 크기가 0이나 1이 될 때까지 반복된다.
반응형
'이론' 카테고리의 다른 글
HTTP 상태와 요청 (0) | 2022.02.26 |
---|---|
Mutex VS Semaphore (0) | 2022.02.26 |
[Dynamic Programming] 로보트 (0) | 2021.02.10 |
LCS(최장 공통 부분 수열) (0) | 2021.02.09 |
[정렬] HeapSort (0) | 2021.02.09 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 그래프
- Matlab
- 디자인패턴
- 프로그래머스
- Solid
- spring-cloud
- ajax
- 알고리즘
- nginx
- kakao
- java
- interview
- 자바
- security
- OOP
- C언어
- 매트랩
- 수학
- JPA
- 백준
- Algorithm
- 릿코드
- 스프링부트
- 면접
- docker
- Spring
- 자격증
- CS
- springboot
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함