acmicpcseminar2

9
ACM- ICPC 세미나 정렬

Upload: yonsei

Post on 15-Jul-2015

526 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Acmicpcseminar2

ACM-ICPC 세미나

정렬

Page 2: Acmicpcseminar2

정렬알고리즘의종류

• Selection Sort

• Insertion Sort

• Bubble Sort

• Shell Sort– 생략

• Quick Sort

• Heap Sort

• Merge Sort

Page 3: Acmicpcseminar2

O(n2) 알고리즘

• Selection Sort– 구간 [k, n] 에서 가장 작은 수를 k 번째로

놓는 정렬 방법

• Insertion Sort– 구간 [2, n] 을 반복하면서 큰 수 앞에 작은

수를 끼워놓는 방법

• Bubble Sort– 구간 [1, k] 에서 인접한 수 끼리 비교하며 가

장 큰 수를 k 번째에 위치 시키는 방법

Page 4: Acmicpcseminar2

O(nlogn)알고리즘

• Quick Sort– 어떤 기준 값을 정해 그 값보다 작은 값과 큰

값을 분리하고 각각에 대해 똑같은 작업을 반복하는 방법

• Heap Sort– 힙 구조를 이용한 방법

• Merge Sort– 배열을 계속 반으로 나눠서 각각을 정렬하고

전체를 정렬하는 방법

Page 5: Acmicpcseminar2

라이브러리사용

• qsort 함수를 사용한 정렬

– stdlib.h 를 include 한다 .

– comp 함수를 작성한다 .

– qsort 함수를 호출 한다 .

• std::sort 함수를 사용한 정렬

– algorithm 을 include 한다 .

– std::sort 함수를 호출 한다 .

Page 6: Acmicpcseminar2

qsort

Page 7: Acmicpcseminar2

std::sort

Page 8: Acmicpcseminar2

ACM-ICPC 세미나

연습 문제

Page 9: Acmicpcseminar2

연습문제

• UVA10041

• UVA612

• UVA123

• UVA10221

• UVA10432