• 검색 결과가 없습니다.

제4장 선택 알고리즘

N/A
N/A
Protected

Academic year: 2021

Share "제4장 선택 알고리즘"

Copied!
8
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

http://academy.hanb.co.kr

쉽게 배우는 알고리즘

4장. 선택 알고리즘

IT COOKBOOK IT COOKBOOK

4장. 선택 알고리즘

일을 시작하기 위해 기분이 내킬 때까지 기다

리는 따위의 짓을

하지 않으려면 시험 제도는 좋은 훈련이 된다.

-아놀드 토인비

(2)

- 3 - 한빛미디어㈜

학습목표

• 평균 선형시간 선택 알고리즘의 원리를 이해

한다.

• 평균 선형시간 선택 알고리즘의 수행시간 분

석을 이해한다.

• 최악의 경우 선형시간 선택 알고리즘의 원리

를 이해한다.

• 최악의 경우 선형시간 선택 알고리즘의 수행

시간 분석을 이해한다.

• 평균 선형시간 선택 알고리즘과 최악의 경우

선형시간 선택 알고리즘의 관계를 이해한다

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘) IT COOKBOOK IT COOKBOOK

Selection (i 번째 작은 수 찾기)

• 배열 A[p ... r]에서 i번째 작은 원소를 찾는다

• 두가지 알고리즘을 배운다

– 평균적으로 선형시간이 소요되는 알고리즘

– 최악의 경우에도 선형시간이 소요되는 알고리즘

(3)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘)

평균 선형시간 Selection Algorithm

select (A, p, r, i)

▷ 배열 A[p ... r]에서 i번째 작은 원소를 찾는다

{

if(p = r) then returnA[p] ; ▷ 원소가 하나뿐인 경우. i는 반드시 1. q ← partition(A, p, r) ;

k ← q-p+1; k: 기준원소가 전체에서k번째 작은 원소임을 의미

if(i < k) then returnselect(A, p, q-1, i) ; ▷ 왼쪽 그룹으로 범위를 좁힘

else if(i = k) then returnA[q] ; ▷ 기준원소가 바로 찾는 원소임

else returnselect(A, q+1, r, i-k) ; ▷ 오른쪽 그룹으로 범위를 좁힘

} ü평균 수행시간: Θ(n) ü최악의 경우 수행시간: Θ(n2) IT COOKBOOK IT COOKBOOK 31 8 48 73 11 3 20 29 65 15 p r 8 11 3 15 31 48 20 29 65 73 입력배열 분할 2번째 작은 원소 찾기 8 11 3 15 31 48 20 29 65 73

작동 예 1

(4)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘) 31 8 48 73 11 3 20 29 65 15 p r 8 11 3 15 31 48 20 29 65 73 8 11 3 15 31 48 20 29 65 73 입력배열 분할 오른쪽 그룹에서 3번째 작은 원소를 찾는다 7번째 작은 원소 찾기 4개

작동 예 2

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘) IT COOKBOOK IT COOKBOOK

평균 수행시간

T(n) ≤

Σ

max[T(k-1), T(n-k)] + Θ(n)

이것은 T(n) ≤ cn임을 추정 후 증명법으로 증명할 수 있다

T(n) =

O(n)

T(n) = Ω(n)임은 자명하므로 T(n) =

Θ(n)

n

1

k=1 n 분할된 양쪽 중 큰 쪽을 처리하는 비용 재귀호출을 재외한 오비헤드 (분할이 대부분)

(5)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘)

최악의 경우 수행시간

T(n) = T(n-1) + Θ(n)

T(n) =

Θ(n

2

)

분할이 계속 0 : n-1로 되고 큰 쪽을 처리하는 비용 재귀호출을 재외한 오비헤드 (분할이 대부분) IT COOKBOOK IT COOKBOOK

최악의 경우 선형시간 Selection Algorithm

• 앞에서 배운 selection algorithm에서 수행시간은 분할의

균형에 영향을 받는다.

– 예) 계속 0:n-1로 분할되고, 찾고자 하는 원소가 운 나쁘게도 큰 그룹에 계속 속한다면T(n) = Θ (n2)이 됨.

• 그러나 분할 균형이 나빠 보여도 일정한 상수비만 넘지

않으면 점근적 복잡도는 항상

Θ (n)

이다.

– 계속 1:9로 분할된다면? • T(n) = T() + Θ (n) 이 되어 T(n) = Θ (n)이 된다. – 계속 1:99로 분할된다면? • T(n) = T() + Θ (n)이 되어 역시 T(n) = Θ (n)이 된다.

è 이 같은 사실에 착안하여…

(6)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘)

최악의 경우 선형시간 Selection Algorithm

• 이번 알고리즘은

– 최악의 경우 분할의 균형이 어느 정도 보장되도록

함으로써 수행시간이

Θ(n)이 되도록 한다

– 하지만 분할의 균형을 유지하기 위한 오버헤드가

지나치게 크면 안 된다.

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘) IT COOKBOOK IT COOKBOOK linearSelect(A, p, r, i)배열 A[p ... r]에서 i번째 작은 원소를 찾는다 { ①원소의 총 수가 5개 이하이면 원하는 원소를 찾고 알고리즘을 끝낸다. ② 전체 원소들을 5개씩의 원소를 가진 개의 그룹으로 나눈다. (원소의 총수가 5의 배수가 아니면 이중 한 그룹은 5개 미만이 된다.) ③ 각 그룹에서 중앙값을 (원소가 5개이면 3번째 원소) 찾는다. 이렇게 찾은 중앙값들을 m1, m2, …, m n/5 이라 하자. ④ m1, m2, …, m n/5들의 중앙값 M을 재귀적으로 구한다. 원소의 총수가 홀수면 중앙값이 하나이므로 문제가 없고, 원소의 총수가 짝수일 경우는 두 중앙값 중 아무거나 임의로 선택한다. ▷ call linearSelect( ) ⑤ M을 기준원소로 삼아 전체 원소를 분할한다. (M보다 작거나 같은 것은 M의 왼쪽에, M보다 큰 것은 M의 오른쪽에 오도록) ⑥ 분할된 두 그룹 중 적합한 쪽을 선택하여 단계 1~6을 재귀적으로 반복한다. ▷ call linearSelect( ) }

(7)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘) ●/■M보다 큰 원소들 ●/■M보다 작거나 같은 원소들 ○/□ M보다 크거나 작을 수 있는 원소들 ■ 기준 원소. 즉 중앙값들의 중앙값 각 그룹의 중앙값 → 그 룹 1 그 룹 2 그 룹 3

M

기준 원소를 중심으로 한 대소 관계

IT COOKBOOK IT COOKBOOK

• ●

/

로 표시된 원소: M으로 분할하면 M의

오른쪽 그룹에 속함

• ●

/

로 표시된 원소: M으로 분할하면 M의 왼쪽

그룹에 속함

• ○/□로 표시된 원소들은 M과의 대소관계에

따라 왼쪽그룹과 오른쪽 그룹으로 흩어질 것임

– 이들이 반반 나눠지면 매우 바람직하겠지만,

– 최악의 경우 어느 한쪽으로 몰리더라도 분할 균형이

어느 정도는 유지될 수 있을까?

기준 원소를 중심으로 한 대소 관계 분석

(8)

숙명여대 멀티미디어과학과 사운드콘텐츠응용(알고리즘)

최악의 경우 수행시간

T(n) ≤ T( n/5 ) + T(7n/10 + 2) + Θ(n)

①②③⑤

이것은 T(n) ≤ cn임을 추정 후 증명법으로 증명할 수 있다

T(n) =

O(n)

T(n) = Ω(n)임은 자명하므로 T(n) =

Θ(n)

16 -IT COOKBOOK IT COOKBOOK 한빛미디어㈜

Thank you

참조

관련 문서

미국 비즈니스 월간지 포트폴 리오닷컴은 미국 역사상 최고 경영자와 최악의 경영자를 각각 20명 씩 뽑아 발표했다.. 최고의

Naimipour, Foundations of Algorithms using Java... 알고리즘 설계의 전체 목차 알고리즘

장승연(성균관대학교 연구원) 정종광(경기과학고등학교 교사) 배준호(경남정보고등학교 교사) 김봉석(경남과학고등학교 교사) 오은희(창원과학고등학교

알고리즘(Algorithm) 과는 달리 휴리스틱은 해결책의 발견을 보장하지는 않는 다. 그러나 휴리스틱은 알고리즘보다 효율적이다. 왜냐하면 많은 쓸모없는 대안 들을 빼놓고

MOG2는 가우시안 혼합 기반 배경 /전경 분할 알고리즘(Gaussian Mixture-based Background/Foreground Segmentation Algorithm)이다.. 이러한 노이즈를 제거하

제안하는 알고리즘 적용에 대한 시스템 성능개선에 대하여 분석한 결과 매 크로 시스템에 스몰셀과 D2D통신을 적용할 경우 성능향상 부분을 확인 할 수

인간 두뇌에서 시각 정보 처리를 담당하는 신경망의 학습

본 논문 에서는 선형 운동을 하는 표적에 미지의 기동 특성이 존재하는 경우에 대해 선 형 Kalman 필터 알고리즘을 적용하였을 경우 알고리즘 자체의 한계로