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