컴퓨터 과학 주제 둘러보기알고리즘이진 탐색 - 재귀

Q

리스트 분할 방법 사용

조회 699

좋아요 2

2019년 4월 1일

댓글 5

2019년 4월 1일
저도 처음에 리스트 슬라이스를 하는 방법으로 생각했었는데 그 방법은 아닌것 같더라구요... 올려주신 코드에서도 역시 슬라이스 때문에 리스트가 달라져서인 것 같아요.
2019년 4월 1일
print(binary_search(3, [2, 3, 5, 7, 11])) 이 상황에서 재귀적으로 들어가다보면 binary_search(3, [3], 0, 0)이 나오고, 그때의 mid_point는 0이 나오게 됩니다. 리스트를 변형하지 않고 구하게 되면 3의 index는 1이 나옵니다.
2019년 4월 1일
간단히 말하면 답이 나올때까지 계속 리스트를 잘라서 항상 답은 리스트의 원소가 1개일때 그 인덱스인 0이 나오는 거 같아요. (5같은 경우는 가운데 위치 해 있어서 한방에 찾아서 예외인 것 같구요)
2019년 4월 2일
리스트 자체를 줄여버리면 인덱스 값이 달라진다는 뜻인가요?
2019년 4월 13일
그렇죠 index 1 에 있어야 할 것이 리스트 자체가 줄어서 index 0 자리에 와버리게 되는 거 같아요.

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇