๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_22_์ฝ์ ์ ๋ ฌ ๋ณธ๋ฌธ
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_22_์ฝ์ ์ ๋ ฌ
์ง์ง์ํ์นด 2022. 2. 8. 00:46220208 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ ใ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉ ํ ์คํธ๋คใ ์ youtube๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
https://www.youtube.com/watch?v=DRkL5EBZ7KY&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=22
1. ์ฝ์ ์ ๋ ฌ
: ์ฒ๋ฆฌ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๊ณจ๋ผ ์ ์ ํ ์์น์ ์ฝ์
: ์ ํ ์ ๋ ฌ์ ๋นํด ๊ตฌํ ๋์ด๋๊ฐ ๋์ง๋ง ํจ์จ์
1) ์ฒซ ๋ฒ์งธ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ๋ฒ์งธ ์๊ฐ ์์ผ๋ก ๊ฐ์ง, ๋ค๋ก ๊ฐ์ง ํ๋จ
2) ๊ทธ๋ค์ ์ธ ๋ฒ์งธ ์๊ฐ ์ ๋ ๊ฐ์ ์์์ ์ด๋๋ก ๊ฐ์ง ํ๋จ
3) ๊ทธ๋ค์ ๋ค ๋ฒ์งธ ์๊ฐ ์ ์ธ ๊ฐ์ ์์์ ์ด๋๋ก ๊ฐ์ง ํ๋จ
....
์ด๋ฐ ๊ณผ์ ๋ฐ๋ณต
- python
array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
for i in range(1, len(array)) :
for j in range(i, 0, -1) : # ์ธ๋ฑ์ค 0์ผ๋ก ๊ฑฐ๊พธ๋ก ๊ฐ๊ธฐ!
if array[j] < array[j-1] : # ์์ผ๋ฉด ์ผ์ชฝ!
array[j], array[j-1] = array[j-1], array[j]
else :
break # ์์๊ฐ ๋ง๋ค๋ฉด ๋ฉ์ถ๊ธฐ
print(array)
- c++
#include <bits/stdc++.h>
using namespace std;
int n = 10;
int arr[10] = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8};
int main(void) {
for (int i = 1; i < n; i++) {
// ์ธ๋ฑ์ค i๋ถํฐ 1๊น์ง ๊ฐ์ํ๋ฉฐ ๋ฐ๋ณตํ๋ ๋ฌธ๋ฒ
for (int j = i; j > 0; j--) {
// ํ ์นธ์ฉ ์ผ์ชฝ์ผ๋ก ์ด๋
if (arr[j] < arr[j - 1]) {
swap(arr[j], arr[j - 1]);
}
// ์๊ธฐ๋ณด๋ค ์์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ฉด ๊ทธ ์์น์์ ๋ฉ์ถค
else break;
}
}
for(int i = 0; i < n; i++) {
cout << arr[i] << ' ';
}
}
- java
import java.util.*;
public class Main {
public static void main(String[] args) {
int n = 10;
int[] arr = {7, 5, 9, 0, 3, 1, 6, 2, 4, 8};
for (int i = 1; i < n; i++) {
// ์ธ๋ฑ์ค i๋ถํฐ 1๊น์ง ๊ฐ์ํ๋ฉฐ ๋ฐ๋ณตํ๋ ๋ฌธ๋ฒ
for (int j = i; j > 0; j--) {
// ํ ์นธ์ฉ ์ผ์ชฝ์ผ๋ก ์ด๋
if (arr[j] < arr[j - 1]) {
// ์ค์ํ(Swap)
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
// ์๊ธฐ๋ณด๋ค ์์ ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ฉด ๊ทธ ์์น์์ ๋ฉ์ถค
else break;
}
}
for(int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
}
}
2. ์ฝ์ ์ ๋ ฌ ์๊ฐ ๋ณต์ก๋
: ํ์ฌ ๋ฆฌ์คํธ๊ฐ ๊ฑฐ์ ์ ๋ ฌ ๋์ด์๋ค๋ฉด ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์
: ์ต์ ์ ์๊ฐ ๋ณต์ก๋๋ O(N)
=> ๋ฐ๋ณต๋ฌธ ๋ ๋ฒ ์ค์ฒฉ
=> O(N^2)
'๐ฆฅ ์ฝํ > ์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_24_๊ณ์์ ๋ ฌ (0) | 2022.02.08 |
---|---|
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_23_ํต์ ๋ ฌ (0) | 2022.02.08 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_21_์ ํ์ ๋ ฌ (0) | 2022.02.08 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_20_DFS & BFS ๋ฌธ์ ํ์ด (0) | 2022.02.02 |
[์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with Python]_19_BFS (0) | 2022.02.02 |