2011-12-03 2 views
0

향상된 버전 :주요 차이점 - 순차 검색 알고리즘

A[n] <-- K 
i <-- 0 

while A[i] != K do 
    i <-- i + 1 

if i<n 
    return i 
else 
    return -1 

일반 버전

i <-- 0 

while i <n and A[i] != K do 
    i <-- i + 1 

if i<n 
    return i 
else 
    return -1 

버전과 일반 버전을 강화 사이의 주요 차이점은 무엇입니까? 무슨 요점이야?

답변

4

차이점은 후자가 각 반복에서 하나의 추가 비교 (i < n)를 수행한다는 것입니다.

+2

향상된 기술은 대상 배열 끝에 센티널 값 (K 사본)을 추가합니다 (이 경우 추가 위치가 있다고 가정 함). 이 알고리즘은 단일 루프 비교 연산으로 K를 종료하고 찾도록 보장됩니다. K가 i = N보다 전에 발견되면 배열에 있고, 그렇지 않으면 그렇지 않습니다. – bjg