美文网首页
2018-09-07

2018-09-07

作者: ssqssqssq | 来源:发表于2018-09-07 21:12 被阅读0次

二分查找算法:

二分查找搜索的是有序表,时间复杂度是O(log(n))。需要一个辅助变量来表示是否已经找到target。

核心算法思想:

1.定义左指针left ,定义右指针right,定义中间指针mid,mid=1+(mid-1)/2; # //int mid = (r + l) / 2; //潜在bug 可能会使r+l 溢出

2.因为是有序表,所以从中间的变量开始进行查找,分三种情况:

if target==item[mid],return index;

if target > item[mid], 说明在右半部分,将left = mid+1,继续在右半部分进行查找

if target < item[mid],说明在左半部分,将right=mid-1,继续在左半部分进行查找

3.循环,查找结束。

循环条件 left < right 

代码如下:

相关文章

网友评论

      本文标题:2018-09-07

      本文链接:https://www.haomeiwen.com/subject/vqdhgftx.html