对分查找的前提是:数据已经经过排序。比较的简单,直接看代码:若找到,则返回它的小标,否则的话返回-1;
前提要求 num是由小到大排序好的。 // 关于排序的算法,后面会给出
int halfSearch(const int num[], const int N,int value)
{
int left =0;
int right = N-1;
int center;
while(left<=right)
{
center = (left+right)/2;
if(value == num[center])
return center;
else if(value >num[center])
{
left = center +1;
}
else
{
right = center -1;
}
}
return -1;
}
加油!
本文深入探讨了对分查找算法的原理、实现过程及其在有序数组中的高效搜索应用。通过具体代码示例,详细解释了如何在已排序的数据集中快速定位目标值,包括算法的时间复杂度分析和优化策略。
731

被折叠的 条评论
为什么被折叠?



