使用if函数为中点等设置新值二进制搜索

时间:2016-01-28 22:19:52

标签: python arrays search binary

嗨,所以即时尝试进行二进制搜索,找到我正在搜索的值。我虽然遇到了部分问题。首先,它将数组除以2以找到中点,然后查看中点是否为=如果不是打印未找到的值。如果没找到我想要它做这些计算。

if value < MP: 
    UB = MP-1
    LB = len(array) - len (array)
    print ("ubperbound is" ,UB)
else:
    UB = len(array)-1
    LB =MP + 1  

因此,如果值小于中点,则应从原始中点带走1,并使上带和下带为0,但如果超过中点,则下带应为中点+ 1,上频带应为数组长度。

然而,我努力让这个工作:/它只是不工作。一些指导会有所帮助。感谢

array = [9,7,8,5,3,6,4,2,3,1,10]
array.sort()
print (array)
index = 0
value = 40
MP = int((len(array)-1) /2)
SB = False 

UB = int(len(array)-1)
LB = index

print ("Midpoint is",array[MP])
print ("Upperbound is" ,UB)
print ("Lowerbound is",LB)

if MP == value:
     print("found")
else:
     print("Value is not the midpoint")

0 个答案:

没有答案