티스토리 뷰
뭔가 제목이 깨끗하지는 않지만
말 그대로이다.
key값의 비교를 기반으로 하는 sort의 worst case의 lower bound가 n log n 이라는 것을 수학적으로 보일 수 있다.
먼저 Decision tree는 yes or no를 선택하는 과정을 tree로 나타낸 것으로
여기에서는 키 값의 비교가 어떠한 decision이 된다.
즉, sort가 진행되는 과정을 decision tree로 나타낼 수 있다.
n lgn이 lower bound라는 것을 증명하기 위해서는 몇가지 lemma 필요하다.
lemma는 이미 참으로 증명된 정리로써 정리를 증명하는데 사용된다.
첫째, 키값을 기반으로 하는 모든 결정적 정렬 알고리즘의 decision tree는 n! 개의 leaves를 가진다.
둘째, binary tree의 depth d와 리프의 개수 m의 관계는 다음과 같다. d ≥ lg m의 ceiling function
셋째, decision tree에서의 비교횟수의 worst case는 tree의 depth와 같다.
넷째, lg n! ≥ nlgn - 1.45n
위의 렘마에 의하면
decision tree는 binary tree이기 때문에 lemma 1과 2에 의해
키값 비교기반의 정렬 알고리즘의 decision tree의 depth d와 노드의 갯수 n의 관계는
d ≥ lg(n!)의 ceiling function 가 된다.
또한, 4번째 Lemma에 의해 d ≥ lg(n lgn - 1.45n)의 ceiling function이 되고
둘째 Lemma에 의해 depth가 곧 키 비교기반 알고리즘의 worst case 이므로
키 비교기반 정렬 알고리즘의 worst case의 Lower bound는 n lg n이 된다.
'Computer Science' 카테고리의 다른 글
[Operating System] Process (0) | 2011.07.11 |
---|---|
[Operating System] Intro (0) | 2011.07.11 |
[Algorithms] Branch and Bound (0) | 2011.07.07 |
[Algorithms] Backtracking (0) | 2011.07.07 |
[Algorithms] Minimum spanning tree 알고리즘 (0) | 2011.07.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발
- operating systems
- 머신러닝
- 카타르
- 데이터 사이언스
- 운영체제
- 이산수학
- Reverse Engineering
- 자바
- android
- 알고리즘
- Data Structure
- 리버싱
- 카타르 음주
- linux
- 리버스엔지니어링
- Discrete Mathematics
- 자료구조
- 기계학습
- 리눅스
- reversing
- 대학원
- 데이터 과학
- 안드로이드
- Data Science
- 통계학습
- java
- Algorithms
- Machine Learning
- statistical learning
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함