선형 검색 루프에 대한 의사 :이 루프가 일정하지 않습니까?
for j = 1 to A.length
if(A[j] = v)
return j;
return NIL
루프 내가 작성한 불변 :
루프의 각 반복의 시작에서, J 후 다음 인덱스 여기서, A [j-1]은 v과 동일하지 않습니다.
초기화 :
J이 에 해당하고 작은 것보다 A.length 여부를 확인하기 전에, 이전 인덱스가 입니다. 그런 다음 A [0]이 존재하지 않기 때문에 A [0]은 v과 같지 않습니다.
유지 :
A가 [j]가 V 는 다음 루프가 종료 같으면. 우리는 다음 반복을하지 않는다는 것을 의미합니다. 그러나 v과 같지 않으면 루프의 다음 반복이 실행되고 루프 불변성이 유지됩니다.
종단 :
조건의 종료 for 루프 J는 V는 A [J] 동일하거나보다 큰 A.length 것이 원인이다. 1하여 각 루프 반복 증가 J 때문에, 우리는이 J 까지 V A.length 대해보다 큰 인 모든 요소를 확인 하였다. 따라서 알고리즘은 정확합니다. v이 A [j]과 같으면 우리가 검색해 온 요소를 찾은 것입니다. 따라서 알고리즘은 정확합니다.
이 정보가 맞습니까?