小朋友学数据结构(5):顺序查找法
查找是最常见的数据操作之一,也是数据结构的核心运算之一,其重要性不言而喻。
顺序查找是最简单的查找策略,对于小规模的数据,顺序查找是个不错的选择。
(一)基本思想
从数据的第一个元素开始,依次比较,直到找到目标数据或查找失败。
1 从表中的第一个元素开始,依次与关键字比较。
2 若某个元素匹配关键字,则查找成功。
3 若查找到最后一个元素还未匹配关键字,则查找失败。
(二)时间复杂度
顺序查找平均关键字匹配次数为表长的一半,其时间复杂度为O(n)。
(三)顺序查找的优缺点
优点:对于待查的结构没有任何要求,而且算法非常简单,当待查表中的记录个数较少时,采用顺序查找较好,顺序查找既适用于顺序存储结构,又使用于链接存储结构。
缺点:时间复杂度较大,数据规模较大时效率较低。
(四)C语言实现
#include <stdio.h>
int seq_search(int array[], int n, int key)
{
int i;
for(i = 0; i < n; i++)
{
if(key == array[i])
{
return i; //查找成功
}
}
return -1; //查找失败
}
int main()
{
int array[] = {3, 5, 2, 7, 6};
int num = 7;
int len = sizeof(array) / sizeof(int);
int index = seq_search(array, len, num);
if(-1 != index)
{
printf("%d的位置为%d
", num, index);
}
else
{
printf("没有找到此元素");
}
return 0;
}
运行结果:
7的位置为3