2007 icpc2
TRANSCRIPT
ACM-ICPC 세미나
2007. 07. 03( 화 ) 14:00
발표자컴퓨터과학과 05 학번 김승덕
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
개요
정렬
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
O(n)
O(n2)
O(nlogn)
구현이 복잡함
목적에 따라 다른 알고리즘
구현이 간단함
n 이 커질 수록 속도가 느려짐
큰 메모리 공간이 필요
정렬 가능한 데이타에 제약
정렬의 종류정렬의 종류
정렬 알고리즘의 종류
O(n2)
• Selection Sort
구간 [k, n] 에서 가장 작은 수를 k 번째로 놓는 정렬 방법
• Insertion Sort
구간 [2, n] 을 반복하면서 큰 수 앞에 작은 수를 끼워놓는 방법
• Bubble Sort
구간 [1, k] 에서 인접한 수 끼리 비교하며 가장 큰 수를 k 번째에 위치 시키는 방법
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
정렬 알고리즘의 종류
O(nlogn)
• Quick Sort
어떤 기준 값을 정해 그 값보다 작은 값과 큰 값을 분리하고 각각에 대해 똑같은 작업을 반복하는 방법
• Heap Sort
힙 구조를 이용한 방법
• Merge Sort
배열을 계속 반으로 나눠서 각각을 정렬하고 전체를 정렬하는 방법
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
정렬 알고리즘의 종류
정렬 알고리즘은 알아야 합니다 .
하지만 ,
자주 사용되는 정렬 알고리즘을
매번 꼭 구현해야 할까요 ?
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
정렬 라이브러리
라이브러리의 사용
• qsort 함수를 사용한 정렬
2. stdlib.h 를 include 한다 .
4. comp 함수를 작성한다 .
6. qsort 함수를 호출 한다 .
• std::sort 함수를 사용한 정렬
2. algorithm 을 include 한다 .
4. std::sort 함수를 호출 한다 .
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
정렬 라이브러리
qsort
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일
정렬 라이브러리
qsort
연세대학교 정보특기자 YUTAR 2007 년 6 월 21 일 목요일