Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ssl.key
- 개발자와 비즈니스
- 정렬
- MySQL
- django 슬랙봇
- private.pem
- 업비트 웹소켓
- #백준 #드래곤커브 #알고리즘
- 알고리즘
- 비즈니스적 관점에서 생각하는 개발자 #개발자 마인드
- 개발자에세이
- django slack bot
- #알고리즘
- innodb_buffer_pool_size 오류
- django slack
- 데이터베이스 오류
- 개발자의 마인드
- 슬랙봇
- public.pem
- sed명령어
- add colume
- 비즈니스적 관점에서 생각하는 개발자
- 비즈니스
- slack bot
- django #django 5.0 #django 5.0 요약
- 개발자와 비즈니스 관계
- 웹소켓 api
- AWS Aurora
- #데이터베이스 #트랜잭션 #ACID #격리수준
- 숲을 바라보는 개발자
Archives
- Today
- Total
Info-Tech
Merge Sort 본문
최악일때도 (nlogn)
N개를 정렬하는 알고리즘이다.
n개를 n/2로 나눈다.
그리고 왼쪽 n/2개와 오른쪽 n/2를 정렬한다.
정렬한 결과를 합친다.
void sort(int start, int end){
if (start == end){
return;
}
int mid = (start+end)/2;
sort(start, mid);
sort(mid+1,end);
merge(start,end);
}
void merge(int start, int end){
int mid = (start+end)/2;
int s = start;
int j = mid+1;
int k = 0;
//위에서 정해진 구간에 맞게끔 값 넣어주기
while( s <= mid && j <=end){
//앞에꺼 그대로 저장
if(a[s] <= a[j]{
b[k++] = a[s++];
}
//뒤에 값 저장
else{
b[k++] = a[j++];
}
}
//나머지 부분 채워주기
while (s<=mid) b[k++] = a[s++];
while (j<=end) b[k++] = a[j++];
//원래 배열에 다시 넣어주기
for(int i=start; i<=end; i++){
a[i] = b[i-start];
}
}
Comments