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 | 29 | 30 | 31 |
Tags
- 자료구조
- 어셈블리
- 도커
- 정렬
- 스플릿키보드
- 부동소수점
- 창업
- adminbro
- 파이썬
- mistel키보드
- raycasting
- 이노베이션아카데미
- 엣지컴퓨팅
- c++
- SFINAE
- 레이캐스팅
- enable_if
- 동료학습
- 어셈블리어
- 스타트업
- psql extension
- 프라이빗클라우드
- GraphQL
- schema first
- 42서울
- 쿠버네티스
- 텍스트북
- Cloud Spanner
- 42seoul
- uuid-ossp
Archives
- Today
- Total
written by yechoi
정렬 - 선택정렬, 삽입정렬 본문
반응형
선택정렬
- 가장 작은 것을 선택해 앞으로 보내는 정렬 기법
- 가장 작은 것을 선택하는 데 N번, 앞으로 보내는 데 N번 0(N^2)의 시간복잡도
int main(void)
{
int n, min, index;
scanf("%d", &n);
for (int i= 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < n; i++)
{
if (min > a[j])
{
min = a[j];
index = j;
}
swap(&a[i], &a[index]);
}
}
삽입정렬
- 각 숫자를 적절한 위치에 삽입하는 정렬 기법
- 들어갈 위치를 선텍하는 데 N번, 선택하는 횟수로 N번 총 O(N^2)의 시간 복잡도
int main(void)
{
int n, min, index;
scanf("%d", &n);
for (int i= 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < n; i++)
{
int j = i;
while (j >= 0 && a[j] > a[j + 1])
{
swqp(&a[j], &a[j + 1]);
j--;
}
}
}
반응형