12. 이진 탐색


12. 이진 탐색

이진 탐색(binary search)은 정렬된 데이터 집합을 이분화하면서 탐색하는 방법이다. 12-1 일반적인 이진 탐색 알고리즘을 사용해서 리스트 [1, 4, 9, 16, 25, 36, 49, 64, 81]에서 탐색 과정을 적어 보세요. def binary_search(a, x): start = 0 end = len(a) - 1 while start <= end: mid = (start + end) // 2 print("mid : ",a[mid]) if x == a[mid]: return mid elif x > a[mid]: start = mid + 1 else: end = mid - 1 return -1 d = [1, 4, 9, 16, 25, 36, 49, 64, 81] print(binary_search(d, 9)) print(binary_search(d, 50)) >> 2 >> -1 12-2 다음 과정을 참고하여 재귀 호출을 사용한 이분 탐색 알고리즘을 만들어 보세요. ① 주...


#알고리즘 #파이썬

원문링크 : 12. 이진 탐색