1. ์ฝ์ ์ ๋ ฌ(Insertion Sort) ์๊ณ ๋ฆฌ์ฆ
- ํ์ํ ๋๋ง ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ์์น์ ์ฝ์
ํ๋ ์ ๋ ฌ(์์ ์๋ ์์๋ค์ด ์ด๋ฏธ ์ ๋ ฌ๋์ด ์๋ค๊ณ ๊ฐ์ )
โ ๋ฌด์กฐ๊ฑด ์์น๋ฅผ ๊ตํํ๋ ๋ฒ๋ธ ์ ๋ ฌ, ์ ํ ์ ๋ ฌ์ ๋นํด ๋ค์ ํจ์จ์ - ๋๋ฒ์งธ ์์๋ถํฐ ์์ํ์ฌ ๊ทธ ์์ ์์๋ค๊ณผ ๋น๊ตํด ์ฝ์
ํ ์์น๋ฅผ ์ง์ ํ ํ ์์๋ฅผ ๋ค๋ก ์ฎ๊ธฐ๊ณ
์ง์ ๋ ์๋ฆฌ์ ์๋ฃ๋ฅผ ์ฝ์ ํ์ฌ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ

2. ์ฝ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ
// Algorithm Analysis
// ์ฝ์
์ ๋ ฌ(Insertion Sort) : (ํ์ํ ๋๋ง)๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ์์น์ ์ฝ์
ํ๋ค.
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, j, temp;
int arr[10] = { 1, 9, 4, 6, 11, 10, 3, 15, 2, 13 };
for (i = 0; i < 9; i++) {
j = i;
while (j >= 0 && arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
j--;
}
}
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
return 0;
}
3. ์ฝ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํน์ง
3-1. ์ฅ์
- ์์ ์ ์ธ ์ ๋ ฌ๋ฐฉ๋ฒ(์ค๋ณต๋ ํค ๊ฐ์ ์์๊ฐ ์ ๋ ฌ ํ์๋ ์ ์ง๋๊ธฐ ๋๋ฌธ)
- ๋ ์ฝ๋ ์๊ฐ ์ ์ ๊ฒฝ์ฐ ์๊ณ ๋ฆฌ์ฆ ์์ฒด๊ฐ ๋งค์ฐ ๊ฐ๋จํด ๋ค๋ฅธ ์ ๋ ฌ๋ณด๋ค ์ ๋ฆฌํ ์ ์์
- ๋๋ถ๋ถ ๋ ์ฝ๋๊ฐ ์ด๋ฏธ ์ ๋ ฌ๋์ด ์๋ ๊ฒฝ์ฐ ๋งค์ฐ ํจ์จ์
- ๋ฒ๋ธ ์ ๋ ฌ์ด๋ ์ ํ ์ ๋ ฌ์ ๋นํด ์๋์ ์ผ๋ก ๋น ๋ฆ
3-2. ๋จ์
- ๋น๊ต์ ๋ง์ ๋ ์ฝ๋๋ค์ ์ด๋์ ํฌํจ
- ๋ ์ฝ๋ ์๊ฐ ๋ง๊ณ ๋ ์ฝ๋ ํฌ๊ธฐ๊ฐ ํด ๊ฒฝ์ฐ ๋ถ์ ํฉํ๋ค.
์ฐธ๊ณ ) https://gmlwjd9405.github.io/2018/05/06/algorithm-insertion-sort.html
[์๊ณ ๋ฆฌ์ฆ] ์ฝ์ ์ ๋ ฌ(insertion sort)์ด๋ - Heee's Development Blog
Step by step goes a long way.
gmlwjd9405.github.io
์ฐธ๊ณ ) https://code-lab1.tistory.com/22
[์๊ณ ๋ฆฌ์ฆ] ์ฝ์ ์ ๋ ฌ(insertion sort)์ด๋? | c์ธ์ด ์ฝ์ ์ ๋ ฌ ๊ตฌํ
์ฝ์ ์ ๋ ฌ(Insertion Sort) ์ฝ์ ์ ๋ ฌ์ ๋ ๋ฒ์งธ ์์๋ถํฐ ์์ํ์ฌ ๊ทธ ์์ ์์๋ค๊ณผ ๋น๊ตํ์ฌ ์ฝ์ ํ ์์น๋ฅผ ์ง์ ํ ํ, ์์๋ฅผ ๋ค๋ก ์ฎ๊ธฐ๊ณ ์ง์ ๋ ์๋ฆฌ์ ์๋ฃ๋ฅผ ์ฝ์ ํ์ฌ ์ ๋ ฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด
code-lab1.tistory.com
'CS > ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ์์ด๊ณผ ์กฐํฉ (0) | 2023.01.16 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ํฌํฌ์ธํฐ (0) | 2023.01.16 |
[์๊ณ ๋ฆฌ์ฆ] #5. ํต์ ๋ ฌ (0) | 2023.01.15 |
[์๊ณ ๋ฆฌ์ฆ] #3. ์ ํ์ ๋ ฌ (0) | 2023.01.15 |
[์๊ณ ๋ฆฌ์ฆ] #2. ๋ฒ๋ธ์ ๋ ฌ(๊ฑฐํ์ ๋ ฌ) (0) | 2023.01.14 |