이진 검색을 이용한 LIS ppt 문서

Download Report

Transcript 이진 검색을 이용한 LIS ppt 문서

1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
1
4
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
6
4
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
6
4
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
6
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
3
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
7
3
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
4
3
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
4
3
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
5
4
3
2
1
4
6
4
2
3
7
4
2
5
if( 바닥이 없거나 바닥에 있는 값보다 작거나 같다면) 바닥
else if( 꼭대기 위치의 숫자보다 크다면 ) 꼭대기
else (위의 두 경우가 아니라면) 이진탐색으로 자기위치찾기
1
5
4
3
2
1
4
6
4
2
3
7
4
2
5
꼭대기 숫자 경로 역추적
** 왼쪽의 배열을 그대로 출력하면 안되는 이유는, 이진탐색으로
데이터의 위치가 뒤죽박죽으로 섞이기 때문에
반드시 경로 역추적을 사용해야 한다.
1
5
4
3
2
1
4
6
4
2
3
꼭대기 숫자 경로 역추적
7
4
2
5
1
5
4
3
2
1
4
6
4
2
3
꼭대기 숫자 경로 역추적
7
4
2
5
1
5
4
3
2
1
4
6
4
2
3
꼭대기 숫자 경로 역추적
7
4
2
5
1
5
4
3
2
1
4
6
4
2
3
꼭대기 숫자 경로 역추적
7
4
2
5
1
5
4
3
2
1
4
6
4
2
3
꼭대기 숫자 경로 역추적
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
1
2
1
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
12
2
1
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
123
2
1
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
1234
2
1
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
12345
2
1
7
4
2
5
1
5
4
6
4
2
3
4
꼭대기 숫자 경로 역추적
3
1 2 3 4 5 (완료)
2
1
7
4
2
5