e. 퀵 정렬 (중요)
1) 퀵 정렬이란?
🌟 평균적으로 매우 빠른 속도를 보이는 정렬 알고리즘
- 분할 정복(divide and conquer) 기반
- 재귀적으로 배열을 분할하고 정렬하는 방식으로 동작
👉 분할 정복에 대한 내용은 d. 병합정렬에 작성되어있음
[게임 프로그래머 입문 올인원] STL Algorithms : 기본정렬 (78강)
A. STL Algorithms : 기본 정렬 1. 기본 정렬의 기초 a. 기본 정렬이란? 🌟 디폴트 정렬(default sorting), 기본 정렬 알고리즘(default sorting algorithm)을 의미 std::sort 함수를 통해 수행 이 함수는 퀵 정렬(Quick So
monamu.tistory.com
💥 최악의 경우 시간 복잡도가 O(n^2)가 될 수있어 데이터 특성에 따라 잘 사용해야 함
2) 알고리즘
- 분할(Divide): 배열에서 하나의 요소를 기준(pivot)으로 선택, 기준보다 작은 요소들은 왼쪽, 큰 요소들은 오른쪽
- 정복(Conquer): 분할된 부분 배열에 대해 재귀적으로 퀵 정렬을 수행
- 결합(Combine): 아무 작업도 수행할 필요가 없음. 부분 배열이 이미 정렬되어 있기 때문에 별도의 작업이 필요하지 않음






3) 코드



🧡 시간복잡도 복잡한 정도가면갈수록 안좋다
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -
어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프
www.inflearn.com
)
'자료구조와 알고리즘 > Algorithm' 카테고리의 다른 글
[게임 프로그래머 입문 올인원] 모던 C++ : 동적 계획법 (85강) (0) | 2024.03.30 |
---|---|
분할 정복(Divide and Conquer) 알고리즘 1 : 이진 탐색 (Binary Search) (0) | 2024.02.22 |
[게임 프로그래머 입문 올인원] A* 길찾기 알고리즘 + Maze project (62강) (0) | 2024.02.19 |
[게임 프로그래머 입문 올인원] 다익스트라 (61강) (0) | 2024.02.19 |
[게임 프로그래머 입문 올인원] 그래프와 알고리즘 : DFS, BFS (58, 59강) (0) | 2024.02.17 |