Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바
- 코딩테스트
- HTTP상태
- HTTP
- 하루코딩
- SQLD
- 개발
- JQuery
- ChatGPT
- javascript
- 네트워크
- 프로그래머스
- 탐욕알고리즘
- 알고리즘
- SQLP
- Python
- java
- 파이썬
- 개발자
- Spring
- 서버
- 챗지피티
- API
- jsp
- codingtest
- 알고리즘코딩테스트
- SQL
- 백준
- 그리디알고리즘
- 정렬알고리즘
Archives
- Today
- Total
개발자's Life
[알고리즘] 기준에 따라 시간복잡도에 많은 영향을 끼치는 퀵 정렬 본문
728x90
반응형
하나의 기준을 중심으로 계속 데이터를 2개의 집합으로 나누면서 정렬하는것이 핵심이다.
기준이 되는 pivot 과 start 가 가리키는 데이터, end 가 가리키는 데이터를 비교하게 되는데
pivot < start : 오른쪽 한칸 포인터 이동
pivot > end : 왼쪽으로 한칸 포인터 이동
pivot > start : 그 자리에서 멈추어 end 포인터를 기다림(또는 기다린 end 포인터 자리와 swap)
pivot < end : 그 자리에서 멈추어 start 포인터를 기다림(또는 기다린 start 포인터 자리와 swap)
swap 후 start 는 오른쪽, End 는 왼쪽으로 1칸씩 이동 start 와 end 가 만날때까지 반복하고 만나는 지점에서 가리키는 데이터를 비교하여 pivot 이 더 크면 만나는 지점 데이터 오른쪽에, pivot 이 더 작으면 만나는 지점 데이터 왼쪽에 삽입하여 준다.
생각보다 구현하기에 복잡할거라 생각하고 해당 유형을 담은 코딩테스트 진행 후 링크를 걸어 게시할 예정이다.
728x90
'코딩테스트 > Study' 카테고리의 다른 글
[알고리즘] 기수정렬의 개념과 원리 - Rowen Jobs (0) | 2023.08.03 |
---|---|
[알고리즘] 병합정렬_Merge Sort 의 핵심이론 (0) | 2023.08.03 |
[알고리즘] 삽입정렬의 개념 및 예시 정리 (0) | 2023.08.01 |
[알고리즘] 중요하지 않은 듯 중요한 선택정렬 (0) | 2023.07.30 |
[알고리즘] 로직이 단순한 버블정렬의 개념 (0) | 2023.07.29 |
Comments