在Binary Search Algorithm中,
总体而言
if mid_value > search_element we set high = mid_pos-1 ;
else mid_value < search_element we set low = mid_pos+1 ;但是我刚刚修改了算法,像这样
if mid_value > search_element we set high = mid_pos ;
else mid_value < search_element we set low = mid_pos ;但是我的老师告诉我,binary search的标准算法是第一个,你写的也是一个搜索算法,但它不是一个二进制搜索算法。他说得对吗?
发布于 2018-10-30 15:32:31
您的算法不正确:
案例:列表1,2,searchElem =2,低= 0,高=1
mid = (low+high)/2 = (0+1)/2 =0
mid < searchElem set low = mid更新mid = 0,high =1列表未更改
因此,您将以无限循环结束。
https://stackoverflow.com/questions/53058133
复制相似问题