分享和关爱由此萌生,测试的人生会像流水和氧气 ,逐渐逐渐染绿了山河,染蓝了天空,萌生了飞鸟鱼虫,遍地都是生命。这是寒武纪带给我们的这份喜悦和希望。
算法学习之第一篇——二分查找
上一篇 /
下一篇 2014-09-02 20:34:08
/ 个人分类:算法基础
现在我主要针对2本书,《数据结构》,《算法基础》来细细品味一个又一个算法。
二分查找
typedef struct{
KeyType key;
infoType otherinfo;
}NodeType;
typedef NodeType SeqList[n+1];
int BinSearch(SeqList R, KeyType K)
{
int low = 1 ,high = n, mid;
while(low<high)
{mid = (low + high)/2;
if(R[mid].key == K) return mid;
if(R[mid].key>K)
high = mid -1;
else
low = mid +1 ;
}
return 0;
}
在一串数字(一个已经排好顺序的数组)中,确定中间的一个数字。
如果要查找的数字比中间的大,那么就在中间的数字以后的区域中查找;
如果要查找的数字和处于中间的数字是一样大的,那么就返回这个数字。
比如
44 55 66 88 99
寻找88
首先确定是在 88 99 之间寻找
然后 然后它们中间的数就是88
于是就等于要查找的数字。
收藏
举报
TAG: