์ ๋ ฌ์ ์ ๋ง ํด๋ ํด๋ ํท๊ฐ๋ฆฐ๋ค ๊ธ๋ถ์ด์ธ๊ฐ๋ด
์ ์ฒ๊ธฐ ํ๋ฉด์ ๊ทธ๋๋ ์๋ฒฝํ๊ฒ ์ตํ๋ค๊ณ ์๊ฐํ๋๋ฐ ๋ ๊ฐ๋ฌผ๊ฐ๋ฌผ..
๊ทธ๋์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค
<ํต์ฌ ๋ด์ฉ>
<๊ตฌํ (by C)>
- ์ค์ฑ์ฐ์ ์ดํ ์๋ฃ๊ตฌ์กฐ ์ฐธ๊ณ
- ๊ตฌํ์ด ์ฌ์ด ์ฝ์ , ์ ํ, ๋ฒ๋ธ ์ ๋ ฌ๋ง ์ ๋ฆฌํ์..
1. ์ฝ์ ์ ๋ ฌ - ์ ๋ ฌ์ด ์๋ฃ๋ ์์ญ๊ณผ ๊ทธ๋ ์ง ์์ ์์ญ์ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ
void InerSort(int arr[], int n)
{
int i, j;
int insData;
for (i=1; i<n; i++)
{
insData = arr[i]; //์ ๋ ฌ ๋์ ์ ์ฅ (๋งจ ์ ๋ฐ์ดํฐ๋ ์ ๋ ฌ์ด ๋๋ค๊ณ ๊ฐ์ ํ๊ณ ๋๋ฒ์งธ ๋ฐ์ดํฐ๋ถํฐ)
for (j=i-1; j>=0; j--)
{
if (arr[j] > insData)
arr[j+1] = arr[j]; //๋น๊ต ๋์ ๋ค๋ก ํ ์นธ ๋ฐ๊ธฐ
else
break;
}
arr[j+1] = insData; //์ฐพ์ ์์น์ ์ ๋ ฌ ๋์ ์ฝ์
}
}
2. ์ ํ ์ ๋ ฌ - ํ๋์ฉ ์ ํํด์ ์ ๋ ฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑ
๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์๊ตฌ๋๋ค๋ ๋จ์ -> ๊ฐ์ฅ ์์ ๊ฒ์ ๋งจ ์์ผ๋ก ๋ณด๋ด๋ฉด์ ๊ฐ์ (ํ๋์ฉ ๋น์๊ฐ๋ฉด์ ์ด๋์ํด)
void SelSort(int arr[], int n)
{
int i, j;
int maxIdx;
int temp;
for (i=0; i<n-1; i++)
{
maxIdx = i;
for (j=i+1; j<n; j++) //์ต์๊ฐ ํ์
{
if (arr[j] < arr[maxIdx])
maxIdx = j;
} // for๋ฌธ - ์ ๋ ฌ๋์ง ์์ ๋ถ๋ถ
// ๊ตํ //
temp = arr[i];
arr[i] = arr[maxIdx];
arr[maxIdx] = temp;
}
}
3. ๋ฒ๋ธ ์ ๋ ฌ - ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ง์ง๋ง์ ๋ฃ์
void BubbleSort(int arr[], int n)
{
int i, j;
int temp;
for (i=0; i<n-1; i++)
{
for (j=0; j<(n-i)-1; j++)
{
if (arr[j] > arr[j+1])
{
// ๋ฐ์ดํฐ์ ๊ตํ //
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
'๐ค > ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DFS / BFS (๊น์ด์ฐ์ ํ์ / ๋๋น์ฐ์ ํ์) (0) | 2022.01.28 |
---|---|
๊ตฌํ ์๊ณ ๋ฆฌ์ฆ (Implementation Algorithm) (0) | 2022.01.26 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (Greedy Algorithm) (0) | 2021.09.23 |
Selection Sort, Merge Sort ์ ํ์ฑ ๋ฐ ์๊ฐ๋ณต์ก๋ ์ฆ๋ช (0) | 2021.09.17 |
Counting Sort (๊ณ์ ์ ๋ ฌ) (0) | 2021.09.10 |