7/1 정렬 알고리즘

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!

댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!

| 정렬 | 설명 | 평균 시간복잡도 | 최악 시간복잡도 | 공간복잡도 | 안정 정렬 여부 |
|---|---|---|---|---|---|
| 선택정렬 | 제일 작은 것부터 선택해서 앞에서부터 정렬 | O(n²) | O(n²) | O(1) | 불안정 |
| 삽입정렬 | 현재 값을 자기 위치에 삽입해서 정렬 | O(n²) | O(n²) | O(1) | 안정 |
| 버블정렬 | 앞에서부터 인접한 두 값을 비교하고 위치를 바꿔가며 정렬 | O(n²) | O(n²) | O(1) | 안정 |
| 병합정렬 | 배열을 계속 반으로 분할한 뒤, 작은 단위부터 다시 병합하면서 정렬 | O(n log n) | O(n log n) | O(n) | 안정 |
| 퀵정렬 | 기준값인 피벗을 정하고, 피벗보다 작은 값과 큰 값으로 나누며 정렬 | O(n log n) | O(n²) | O(log n) | 불안정 |
| 힙정렬 | 데이터를 힙 구조로 만든 뒤, 가장 큰 값부터 꺼내며 정렬 | O(n log n) | O(n log n) | O(1) | 불안정 |
| 인트로정렬 | 퀵정렬을 기본으로 쓰다가 최악 상황에서는 힙정렬, 작은 구간에서는 삽입정렬 사용 | O(n log n) | O(n log n) | O(log n) | 불안정 |
※ 안정정렬 - 같은 값끼리의 기존 순서가 정렬 후에도 유지되는 정렬
C#은 인트로 정렬을 채택함
인트로 정렬 IntroSort
퀵정렬을 기본으로 사용하다가,
재귀 깊이가 너무 깊어져서 최악 상황이 예상되면 힙정렬로 전환하고,
작은 구간에서는 삽입정렬을 사용하는 하이브리드 정렬
Linq : 데이터 베이스 쿼리 방식의 필터링 기법
예제
var result = from monster in monsters where monster.hp >= 5 orderby monster.name ascending select monster;
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.