Skip to content

Commit ab24572

Browse files
committed
feat: Sort Algorithm Overview 정리
1 parent d6004af commit ab24572

2 files changed

Lines changed: 44 additions & 1 deletion

File tree

_posts/2021-01-11-Algorithm-Sort-Grounding.markdown

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ categories: Algorithm(Sort)
3535

3636
### 06. 참고
3737

38-
- C언어로 쉽게 풀었느 자료구조 (천인국, 공용해, 하상호 지음)
38+
- C언어로 쉽게 풀어쓰는 자료구조 (천인국, 공용해, 하상호 지음)
3939
- https://jinhyy.tistory.com/9
4040
- https://godgod732.tistory.com/10
41+
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
layout: post
3+
title: "Sort Algorithm(Overview)
4+
date: 2025-08-07 12:00:00 +0900
5+
categories: Algorithm(Overview)
6+
---
7+
8+
## Sort Algorithm - 정렬
9+
10+
### 01. 설명
11+
12+
- 자료 탐색에 있어서 필수적
13+
- 비교 연산, 이동 연산을 최소화해야함
14+
- 단순/비효율 : 삽입, 선택, 거품
15+
- 복잡/효율 : 퀵, 힙, 합병, 기수
16+
17+
### 02. 선택정렬
18+
19+
- 해당 순서에 원소를 넣을 위치(index)는 이미 정해져 있고, 어떤 원소를 넣을지 선택하는 알고리즘
20+
- 입력 배열에서 최소값을 발견한 다음, 이 최소값을 배열의 첫 번째 요소와 교환한다.
21+
22+
### 03. 삽입정렬
23+
24+
- 자료 배열 안에서 매 순서마다 해당 원소의 앞의 이미 정렬되어 있는 모든 요소를 차례대로 비교하여, 자신의 위치를 찾아서 삽입하는 알고리즘
25+
- 두 번째는 첫 번째를, 세번째는 두번째와 첫번째를 비교한 후 삽입할 위치를 찾고, 찾았으면 그 위치에 삽입하기 위해 자료를 한 칸씩 뒤로 이동시킨다.
26+
27+
### 04. 버블정렬
28+
29+
- 서로 인접한 두 원소를 검사하여 크기가 순서대로 되어 있지 않으면 서로 교환하는 비교-교환 과정을 배열의 왼쪽 끝에서 시작해 오른쪽 끝까지 진행하며 정렬하는 알고리즘
30+
- 1회전을 수행하고 나면 가장 큰(작은)자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외된다.
31+
32+
### 05. 합병정렬
33+
34+
- 하나의 리스트를 두 개의 균등한 크기로 분할하고, 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스트가 되게 하는 방법으로 분할 정복 알고리즘 중 하나
35+
- 합병 정렬에서 실제로 정렬이 이루어지는 시점은 2개의 리스트를 합병(Merge)하는 단계
36+
- 재귀 형식으로 구현 가능하며, 재귀 함수에서 재귀 함수로 타고 타고 들어가다가 더 이상 들어갈 수 없는 순간이 되면 리턴이 된 후 병합(정렬) 함수가 실행되면서 반환하고 반환되면서 정렬이 이루어진다.
37+
38+
### 06. 퀵정렬
39+
40+
- 하나의 리스트를 피벗(pivot) 기준으로 두 개의 비균등한 크기로 분할하고, 분할된 부분 리스트를 정렬한 다음, 두 개의 정렬된 부분 리스트를 합하여 전체가 정렬된 리스타가 되게 하는 방법으로 분할 정복 알고리즘 중 하나
41+
- 재귀 형식으로 구현 가능하며, 피벗(pivot) 기준으로 보다 작은 값은 왼쪽 리스트에 몰고, 보다 큰 값은 오른쪽 리스트에 몰은 다음에 각 두 리스트에 퀵 정렬 함수가 재귀로 실행되는 방식이다.
42+

0 commit comments

Comments
 (0)