LAB · 코드가 살아 움직인다
Code Playback
코드는 읽지 말고 돌려 봄. 한 줄 실행하면 변수 값이 코드 옆에 박힘. 배열 타일 위에서 lo·hi·mid가 좁혀지는 게 보임. 입력 바꾸면 실행이 다시 생성됨.
Code Playback · 이진 탐색 (Binary Search)정렬된 배열에서 target 찾기
1
def binarySearch(arr, target:11):●
lo:0, hi:7 = 0, len(arr) - 13
while lo:0 <= hi:7:4
mid = (lo:0 + hi:7) // 25
if arr[mid] == target:11:6
return mid7
elif arr[mid] < target:11:8
lo:0 = mid + 19
else:10
hi:7 = mid - 111
return -1STEP 1/10
탐색 범위를 잡습니다. lo는 맨 앞(0), hi는 맨 뒤.
1/10
입력 배열 (정렬됨)
0
1
1
3
2
4
3
7
4
9
5
11
6
15
7
21
TARGET
11
▶ 재생 누르거나 스크러버 끌면 한 단계씩 봄. TARGET을 배열에 없는 값으로 바꾸면 ‘없음(-1)’으로 끝나는 경로도 나옴. — 이 엔진은 뒤에서 CPU 명령어 실행을 한 줄씩 따라가는 데 그대로 재사용됨.