Em chào mọi người, em đang học 1 bài có đề bài như sau:
Và code mẫu là:
import math
def bin_search(li, element):
bottom = 0
top = len(li)-1
index = -1
while top>=bottom and index==-1:
mid = int(math.floor((top+bottom)/2.0))
if li[mid]==element:
index = mid
elif li[mid]>element:
top = mid-1
else:
bottom = mid+1
return index
li=[2,5,7,9,11,17,222]
print (bin_search(li,11))
print (bin_search(li,12))
Chỗ em không hiểu là vì sao top=len(li)-1
và index = -1
ạ? element có phải = 7
hay không? Và tại sao 2 dòng lệnh print()
ở cuối lại có 11
với 12
ạ? Em xin cảm ơn.