数据结构折半查找算法 折半查找算法及代码?
浏览量:2451
时间:2021-03-11 11:56:52
作者:admin
折半查找算法及代码?
#include<iostream>
#使用命名空间std
模板<class T>
int二进制搜索(ta[],const T&x,int n,int left,int right)
{
if(left>=right)
return-1
else
if(a[(left right)/2]==x)
return if(left right)/2
else if(x>=(left right)/2)
returnBinarySearch(a,x,n,(left right)/21,right)
else if(x<(left right)/2)
返回BinarySearch(a,x,n,left,(left right)/2-1)
}
int main()
{
int a[MAXusize
]int i,len,x,P
CIN gt>len for(i=0I<leni)
CIN gt>A[i
]CIN gt>X
P=BinarySearch(a,x,len,0,len-1)
如果(P==-1)
cout<<“数字不存在!“<<endl
else
cout<<P 1<<endl
return 0
}
二进制搜索算法是一种快速搜索算法。当我们在另一个数组中寻找一个数字时,我们通常直接遍历这个数组直到找到这个数字。时间复杂度为O(n)。如果有大量的数据,我们可以使用简单快速的搜索算法二进制搜索算法,也称为半搜索算法。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。