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.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?