N = int(input("입력하신 값의 위치를 출력하겠습니다. 입력해주세요: "))
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def binary(n):
global a
minn = 0
maxx = len(a)-1
cnt = 0
while True:
mid = int((minn + maxx) / 2)
cnt += 1
if a[mid] == n:
break
elif a[mid] > n:
maxx = mid-1
elif a[mid] < n:
minn = mid+1
print("인덱스: ", a.index(a[mid]), "연산횟수: ", cnt)
binary(N)
|
'Algorithm' 카테고리의 다른 글
[정렬] 삽입정렬 (0) | 2019.10.12 |
---|---|
[정렬] 선택정렬 (Select Sort) (0) | 2019.10.11 |
[정렬] 버블정렬 (Bubble Sort) (0) | 2019.10.11 |
하노이탑(재귀) Python (0) | 2019.09.25 |
[Algorithm] 01. 이진 검색 알고리즘 테스트 Binary Search Algorithm Test (python) (0) | 2018.08.25 |