[게임 프로그래머 입문 올인원] STL Algorithms : 퀵정렬 (79강)
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
)