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 |
31 |
Tags
- sort
- Coding
- segmentation
- robotics
- SQL
- sam2
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ์์ค ์ฝ๋ ํ์ง ๋ถ์
- AI
- homogenous
- Java
- CentOS
- ์ ๋ ฌ
- ๋งฅ์ผ์ด๋ธ
- ๋ช ๋ น์ด
- 3dof
- ROS2
- humble
- ์ ์ฒ๊ธฐ
- ์๊ณ ๋ฆฌ์ฆ
- ํฉ๋ณ
- ํ์ ๋ณต์ก๋
- Linux
- MIPS
- homogeinous
- ๋คํธ์ํฌ ์ถฉ๋
- Computer
- ๋ฆฌ๋ ์ค
- ์ปดํจํฐ๊ตฌ์กฐ
- ๊ธฐ๊ตฌํ
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 |