[자료구조/알고리즘] 퀵 정렬(Quick sort)
개념 하나의 리스트를 피벗(Pivot)을 기준으로 두 개의 부분 리스트로 나누어서 하나는 피벗보다 작은 값들의 부분 리스트, 다른 하나는 피벗보다 큰 값들의 부분 리스트로 구분한 뒤 각 부분 리스트에 대해 다시 위 처럼 재귀적으로 수행하여 정렬하는 방식이다. 분할정복 알고리즘을 기반으로 하며 데이터를 비교하며 정렬하는 비교정렬 이자 데이터의 추가적인 공간을 필요로 하지 않는 제자리정렬 이며 두 개의 부분 리스트를 만들 때 서로 떨어진 원소끼리 교환이 일어나기 때문에 불안정 정렬 이다. 정렬 방법 왼쪽/오른쪽 피벗 선택 방식과 중간 피벗 선택 방식이 있다. 과정 피벗을 하나 선택한다. 피벗을 기준으로 왼쪽에서부터는 피벗보다 큰 값을 찾고, 오른쪽에서부터는 피벗보다 작은 값을 찾는다. 양 방향에서 찾은 두 ..
알고리즘
2023. 2. 17. 11:56
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- CS
- 백준
- JPA
- 자바dp
- JavaScript
- Comparator
- 정렬
- dfs
- 이분탐색
- 자바스크립트
- 스프링
- Nest
- 해시맵
- 스프링부트
- Spring
- Queue
- SQL
- 자바트리
- BFS
- 리액트
- 형변환
- 알고리즘
- java
- DP
- SQLD
- 프로그래머스
- 타입스크립트
- Algorithm
- 자바bfs
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함