顺序查找和折半查找
2006-05-19 13:19
381 查看
顺序查找
typedef int DataType;
int SeqSearch(DataType List[],int n,DataType key)
{
for(int i=0;i<n;i++)
if(List[i]==key)
return i;
return -1;
}
*判断出口,找到就出来,没找到就返回没找到
O(n)
折半查找
int BinSearch(DataType list[],int low,int high,DataType key)
{
int mid;
DataType midvalue;
while(low<=high)
{
mid=(low+high)/2;
midvalue=list[mid];
if(key==midvalue)
return mid;
else if(key<midvalue)
high=mid-1;
else
low=mid+1;
}
return -1;
}
*low<=high
排序操作
void ExchangeSort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
*j=i+1
typedef int DataType;
int SeqSearch(DataType List[],int n,DataType key)
{
for(int i=0;i<n;i++)
if(List[i]==key)
return i;
return -1;
}
*判断出口,找到就出来,没找到就返回没找到
O(n)
折半查找
int BinSearch(DataType list[],int low,int high,DataType key)
{
int mid;
DataType midvalue;
while(low<=high)
{
mid=(low+high)/2;
midvalue=list[mid];
if(key==midvalue)
return mid;
else if(key<midvalue)
high=mid-1;
else
low=mid+1;
}
return -1;
}
*low<=high
排序操作
void ExchangeSort(int a[],int n)
{
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[j]<a[i])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
*j=i+1
相关文章推荐
- 静态查找(顺序查找,折半查找,插值查找,斐波那契查找)
- 静态查找表:顺序查找、折半查找、分块查找
- 查找:顺序查找,折半查找
- 909422229__三种查找算法:顺序查找,二分法查找(折半查找),分块查找
- 顺序查找和折半查找
- 查找(一)静态查找的顺序查找和 有序折半查找
- 顺序表查找和折半查找
- 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
- 静态查找——顺序查找、折半查找
- 十.用C语言实现查找算法 (1)顺序查找;(2)二分查找(折半查找);(3)二叉排序树;(4)哈希查找
- 数据结构学习笔记-2.顺序查找与折半查找比较
- 顺序查找和折半查找
- 顺序查找和折半查找
- 顺序查找、折半查找、引索顺序表查找的实现
- 【查找算法】——顺序查找、折半查找、分块查找(索引查找)
- (3) 查找算法 --- 顺序查找 折半查找
- 顺序查找 折半查找 二叉排序树
- 【数据结构----笔记1】查找算法之【顺序查找和折半查找】
- 静态查找表:顺序查找、折半查找、分块查找
- 顺序查找 && 折半查找