acmicpcseminar2
TRANSCRIPT
ACM-ICPC 세미나
정렬
정렬알고리즘의종류
• Selection Sort
• Insertion Sort
• Bubble Sort
• Shell Sort– 생략
• Quick Sort
• Heap Sort
• Merge Sort
O(n2) 알고리즘
• Selection Sort– 구간 [k, n] 에서 가장 작은 수를 k 번째로
놓는 정렬 방법
• Insertion Sort– 구간 [2, n] 을 반복하면서 큰 수 앞에 작은
수를 끼워놓는 방법
• Bubble Sort– 구간 [1, k] 에서 인접한 수 끼리 비교하며 가
장 큰 수를 k 번째에 위치 시키는 방법
O(nlogn)알고리즘
• Quick Sort– 어떤 기준 값을 정해 그 값보다 작은 값과 큰
값을 분리하고 각각에 대해 똑같은 작업을 반복하는 방법
• Heap Sort– 힙 구조를 이용한 방법
• Merge Sort– 배열을 계속 반으로 나눠서 각각을 정렬하고
전체를 정렬하는 방법
라이브러리사용
• qsort 함수를 사용한 정렬
– stdlib.h 를 include 한다 .
– comp 함수를 작성한다 .
– qsort 함수를 호출 한다 .
• std::sort 함수를 사용한 정렬
– algorithm 을 include 한다 .
– std::sort 함수를 호출 한다 .
qsort
std::sort
ACM-ICPC 세미나
연습 문제
연습문제
• UVA10041
• UVA612
• UVA123
• UVA10221
• UVA10432