#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목[re]Step 15 실습 Binary search 질문2020-05-24 23:07
작성자

예시를 들어서 설명해드릴게요.

list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

value = 2

라고 가정하고 코드를 돌려봤을때,

mb-file.php?path=2020%2F05%2F24%2FF1171_%EC%BA%A1%EC%B2%98.PNG 

변수 i, j, m은 이렇게 변합니다. (변수들 위의 숫자를 index로 생각해도 됩니다.(list가 0부터 시작하기 때문))

m=2 인 상황을 보면 list[m] ==value 이므로 while문이 종료되고 다음 if문을 만나게 되지만 list[i](i = 0 임)는 value값과 다르기 때문에 -1을 반환하게 되는겁니다.


while문은 ( list[m] == value )일때 끝나는 것이 아닙니다. ( i == j-1 )인 상황일때 m과 i가 같아지며 list[i] = value가 됩니다.

댓글