zoukankan      html  css  js  c++  java
  • 小朋友学数据结构(5):顺序查找法

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

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

    (一)基本思想

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

     
    1.png

    (二)时间复杂度

    顺序查找平均关键字匹配次数为表长的一半,其时间复杂度为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


  • 相关阅读:
    OpenGL(十一) BMP真彩文件的显示和复制操作
    OpenGL(十) 截屏并保存BMP文件
    复数的认识与理解
    复数的认识与理解
    采样定理
    采样定理
    How Many Fibs_hdu_1316(大数).java
    FZOJ2110 star(DFS)
    透过表象看本质!?之二数据拟合
    设计中的道理_3
  • 原文地址:https://www.cnblogs.com/alan-blog-TsingHua/p/9607581.html
Copyright © 2011-2022 走看看