좋은 알고리즘이란?하나의 문제, 여러 가지 알고리즘이진 탐색 구현해보기

Q

이진탐색 힌트9 질문입니다.

조회 1109

좋아요 8

2019년 5월 3일




댓글 3

2019년 7월 3일
for문은 반복횟수가 명확할 경우에 씁니다. 이진탐색의 경우 상황에 따라 반복횟수가 달라지니 조건문이 있는 while문을 쓰는 겁니다. for문을 쓸경우 다시 조건문을 통해 break로 빠져나오야 하니 while문이 더 낫습니다.
2019년 7월 3일
start_index를 mid-1, end_index를 mid+1로 재설정을 함으로 인해 같거나 역전하는 경우가 생기게 됩니다. 만약 start_index와 end_index를 mid로 재설정을 한다면, 11을 찾는 경우에 start_index는 3, end_index는 4, mid는 (3+4)//2로 3이 되므로 무한 루프에 빠지게 됩니다. 이를 방지하기 위해 mid에 +-1을 해주는 겁니다.
2019년 7월 29일
엇갈리는 순간 start가 end를 뒤집을 일이 있을 까요 -> binary_search(3, [2, 4, 5, 7, 11]) 이렇게 되면 start가 end보다 큰 경우가 발생합니다.
A
1개의 답변이 있어요
커뮤니티 파트너 채택



2019년 5월 4일

(주) 코드잇

대표강영훈

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

이메일support@codeit.kr

사업자 번호313-86-00797

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

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