查找之折半查找

来源:互联网 发布:视频分析软件 编辑:程序博客网 时间:2024/06/08 07:05

/*
名称:折半查找
说明:这是比顺序查找要更有效率的一种方式。它是按照每次减少一半的规模进行查找的。但是其存储结构必须要是顺序结构,即连续的存储空间,而且元素间必须有序。这就是我在上节顺序查找中说到的,事先进行按照一定的规律进行存储,这样查找时就能减少时间复杂度。
对于折半查找来说,其时间复杂度为O(log2N)。

*/

//折半查找(n为元素个数,key为待查找元素)int Binary_Search(int elem[],int n,int key){   int low = 0,high = n-1,mid = 0;   while(low <= high)   {       mid = (low+high)/2;       if(elem[mid] == key)        return mid;       else if(elem[mid] < key)        low = mid+1;       else        high = mid-1;   }   return -1;}