前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学数据结构(5):顺序查找法

小朋友学数据结构(5):顺序查找法

作者头像
海天一树
发布2018-07-25 14:20:12
4270
发布2018-07-25 14:20:12
举报
文章被收录于专栏:海天一树海天一树

查找是最常见的数据操作之一,也是数据结构的核心运算之一,其重要性不言而喻。 顺序查找是最简单的查找策略,对于小规模的数据,顺序查找是个不错的选择。

(一)基本思想

从数据的第一个元素开始,依次比较,直到找到目标数据或查找失败。 1 从表中的第一个元素开始,依次与关键字比较。 2 若某个元素匹配关键字,则查找成功。 3 若查找到最后一个元素还未匹配关键字,则查找失败。

(二)时间复杂度

顺序查找平均关键字匹配次数为表长的一半,其时间复杂度为O(n)。

(三)顺序查找的优缺点

优点:对于待查的结构没有任何要求,而且算法非常简单,当待查表中的记录个数较少时,采用顺序查找较好,顺序查找既适用于顺序存储结构,又使用于链接存储结构。 缺点:时间复杂度较大,数据规模较大时效率较低。

(四)C语言实现

代码语言:javascript
复制
#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\n", num, index);
    }
    else
    {
        printf("没有找到此元素");
    }
    return 0;
}

运行结果:

代码语言:javascript
复制
7的位置为3

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)基本思想
  • (二)时间复杂度
  • (三)顺序查找的优缺点
  • (四)C语言实现
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档