本文主要是介绍算法之:二分法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
二分法网上有很多资料了,这里盗用一下算法第四版的代码.
int lo = 0;
int hi = a.length-1;
while(lo<=hi)//为什么是<=而不是<
{
int lo = 0;
int hi = a.length-1;
while(lo<=hi)
{
int mid = lo+(hi-lo)/2;
if (key<a[mid]) hi = mid-1;
else if (key>a[mid]) lo = mid+1;
else return mid;
}
}
这里要注意的是lo<=hi,如果两个数据查找没有等于要出问题。
这篇关于算法之:二分法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!