为什么我的python二进制搜索程序不能正常工作? python中的二进制搜索 def二进制搜索(A、n、x): 开始=n-1 结束=0 开始时
交换开始和结束变量值:为什么我的python二进制搜索程序不能正常工作? python中的二进制搜索 def二进制搜索(A、n、x): 开始=n-1 结束=0 开始时,python,binary-search,Python,Binary Search,交换开始和结束变量值: start=0 结束=n-1 这是因为您根据algo为开始和结束分配了错误的值 # Binary search in python def BinarySearch(A,n,x): start = n - 1 end = 0 while start <= end: mid = (start + end)//2 if x == A[mid]: return mid elif
start=0
结束=n-1
这是因为您根据algo为开始和结束分配了错误的值
# Binary search in python
def BinarySearch(A,n,x):
start = n - 1
end = 0
while start <= end:
mid = (start + end)//2
if x == A[mid]:
return mid
elif x < A[mid]:
end = mid - 1
else:
start = mid + 1
return -1
A = [4, 5, 7, 45, 64, 66, 80, 81, 92, 99]
n = len(A)
x = 64
result = BinarySearch(A,n,x)
if result != -1:
print(result)
else:
print("element is not in the array")
输入这些值,它就会运行
您已将
start
设置为列表的末尾,并将end
设置为列表的开头。
start = 0
end = n - 1