⑥ 알고리즘 도론′연습9.2

2065 단어 알고리즘 도론
9.2-1 수조의 길이가 0이면 호출된randomized-select 함수의 두 번째와 세 번째 매개 변수는 같다.프로그램의 여덟 번째 줄, 즉 p=q-1을 호출하면 k=q-p+1=0이 있습니다.제목의 i는 수조에서 i가 작은 요소를 찾아야 한다는 것을 나타낸다. 그러면 i는 반드시 0보다 크고 프로그램이 8줄까지 진행되는 조건은 i가 같은 이치로 9줄에서 호출되면 i가 k보다 크고 성립되지 않기 때문에 프로그램은 호출 길이가 빈 수조로 돌아가지 않는다는 것을 증명할 수 있다.
9.2-3
def randomized_select(A,p,r,i):
	while true:
		if p==r:
			return A[p]
		q=randomized_partition(A,p,r)
		k=q-p+1
		if i==k:
			return A[q]
		if i<k:
			r=q
		else :
			p=q
			i=i-k

9.2-4 입력수 그룹이 큰 것부터 작은 것까지 배열될 때 시간 복잡도가 가장 높다. 즉, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0시이다.

좋은 웹페이지 즐겨찾기