Selection Problem

상한과 하한

상한과 하한 값이 같을 때, $Theta$로 표시하고, 이는 알고리즘이 필요한 만큼만을 비교한다는 뜻이다. ****이러한 알고리즘은 최적 알고리즘이라고 부른다.

가장 큰 수 찾기 (k =n)

가장 단순한 selection 문제

def select(A):
	current_max = A[0]
	for i in range(1, len(A)):
		if current_max < A[i]:
			current_max = A[i]
	return current_max

가장 작은 수와 가장 큰 수 찾기 (k = 1, k = n)

1. 알고리즘1

  1. 가장 작은 수를 $(n - 1)$ 번의 비교로 찾기