Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的python二进制搜索程序不能正常工作? python中的二进制搜索 def二进制搜索(A、n、x): 开始=n-1 结束=0 开始时_Python_Binary Search - Fatal编程技术网

为什么我的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