Notice
Recent Posts
Recent Comments
Link
250x250
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- Computer
- AI
- ์ปดํจํฐ๊ตฌ์กฐ
- SQL
- 3dof
- sort
- ๊ธฐ๊ตฌํ
- ๋งฅ์ผ์ด๋ธ
- robotics
- CentOS
- ์ ์ฒ๊ธฐ
- MIPS
- segmentation
- ์๊ฒฉ์ฆ
- Linux
- humble
- ์ ๋ ฌ
- Java
- homogenous
- homogeinous
- ๋ช ๋ น์ด
- ํฉ๋ณ
- ํ์ ๋ณต์ก๋
- ๋ฆฌ๋ ์ค
- ์๊ณ ๋ฆฌ์ฆ
- Coding
- ROS2
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ๋คํธ์ํฌ ์ถฉ๋
- sam2
Archives
- Today
- Total
UTF-404
Merge Sort ๊ตฌํ(Java) ๋ณธ๋ฌธ
728x90
๐ก Merge Sort๋?
ํฉ๋ณ ์ ๋ ฌ ๋๋ ๋ณํฉ ์ ๋ ฌ(์์ด: merge sort ๋จธ์ง ์ํธ)์ O(n log n) ๋น๊ต ๊ธฐ๋ฐ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ์ ๋ ์ด ์ ๋ ฌ์ ์์ ์ ๋ ฌ์ ์ํ๋ฉฐ, ๋ถํ ์ ๋ณต ์๊ณ ๋ฆฌ์ฆ์ ํ๋์ด๋ค. ์กด ํฐ ๋ ธ์ด๋ง์ด 1945๋ ์ ๊ฐ๋ฐํ๋ค.
| ๋ถ๋ฅ | ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ |
| ์๋ฃ๊ตฌ์กฐ | ๋ฐฐ์ด |
| ์ต์ ์๊ฐ๋ณต์ก๋ | O(n log n) |
| ์ต์ ์๊ฐ๋ณต์ก๋ | O(n log n) |
| ํ๊ท ์๊ฐ๋ณต์ก๋ | ์ผ๋ฐ์ ์ผ๋ก, O(n log n) |
| ๊ณต๊ฐ๋ณต์ก๋ | ะ(n) |
<์ฐธ๊ณ >
https://ko.wikipedia.org/wiki/%ED%95%A9%EB%B3%91_%EC%A0%95%EB%A0%AC
ํฉ๋ณ ์ ๋ ฌ - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ํฉ๋ณ ์ ๋ ฌ ๋๋ ๋ณํฉ ์ ๋ ฌ(์์ด: merge sort ๋จธ์ง ์ํธ[*])์ O(n log n) ๋น๊ต ๊ธฐ๋ฐ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ์ ๋ ์ด ์ ๋ ฌ์ ์์ ์ ๋ ฌ์ ์ํ๋ฉฐ,
ko.wikipedia.org
๐ก Merge Sort - Java Code ๊ตฌํ
import java.util.*;
public class Merge_Sort {
public static int[] src;
public static int[] tmp;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
src = new int[n];
for(int i=0; i<n; i++) {
src[i] = sc.nextInt();
}
tmp = new int[src.length];
merge(0, src.length-1);
print(src);
sc.close();
}
public static void merge(int left, int right) {
if (left<right) {
int mid = (left+right) / 2;
merge(left, mid);
merge(mid+1, right);
int l = left;
int r = mid + 1;
int idx = l;
while (l<=mid || r<=right) {
if (r>right || (l<=mid && src[l]<src[r])) {
tmp[idx++] = src[l++];
} else {
tmp[idx++] = src[r++];
}
}
for (int i=left;i<=right;i++) {
src[i]=tmp[i];
}
}
}
public static void print(int[] a) {
for (int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println();
}
}
๐ Test Case ์ถ๋ ฅ ํ์ธ

728x90
'ํ๋ก์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๐ฅ๏ธ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด๋ฅผ ํ์ฉํ ๋คํธ์ํฌ AI ์ฒด์ค ๊ฒ์ (0) | 2024.06.18 |
|---|---|
| Quick Sort ๊ตฌํ(Java) (1) | 2024.03.01 |
| Prime Number ์๊ณ ๋ฆฌ์ฆ (0) | 2024.03.01 |
| "์ฐ๋ค" ํจ ๋๋ ์ฃผ๊ธฐ ํ๋ก๊ทธ๋จ (0) | 2024.03.01 |
| ๐ฅ๏ธ DB-Project (0) | 2024.02.27 |