# 最简单二分查找的大概思路是: # List:[0 1 2 3 5] target:3 # start=0,end=len(list)-1 # middle = (start+end)//2 # 判断一下list[middle]是否等于target # 如果等于,则直接返回索引 # 如果小于,则需要找的数在 (middle+1)-end 的范围里 # 否则,就在 0-(middle-1)的范围里. # 循环 # python实现 start, end = 0, len(List)-1 while start <= end: middle = (start+end)//2 if List[middle] == target: return middle else if (List[middle ] < target) start = middle + 1; else if (List[middle ] > target) end = middle - 1; // 注意 return -1
链接: 参考链接.