我的代码不起作用。我不擅长编码,很抱歉浪费您的时间。我从不擅长此事,并且试图了解如何进行线性和二进制搜索。我希望您能解决我的问题,因为这根本没有道理,如果我看起来很愚蠢,我感到抱歉。
我想打印项目在数组中的位置的结果,我不能,我该怎么做?
我创建了一个函数,使用它我可以使主要的二进制函数正常工作,但是我希望它可以打印索引。
这是我的代码:
def binary_search(array,item):
start_point = 0
end_point = len(array)
mid_point = (start_point + end_point) / 2
while mid_point != item:
if mid_point > item:
end_point = mid_point
elif mid_point < item:
start_point = mid_point
if mid_point == item:
print(mid_point)
binary_search([0,3,5,6,7,8],7)
答案 0 :(得分:0)
Python具有内置功能,可从列表即 list.index(element)
中获取特定项目的索引>>>k = [3,4,5,7]
>>>k.index(7)
>>>3
答案 1 :(得分:0)
列表的基本错误。 与项目比较时,应为: array [mid_point]!=项目 最好在尝试处理算法之前先了解数据结构。