欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查找之折半查找

程序员文章站 2022-03-15 12:01:24
...

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