【Python算法系列九】 顺序查找算法

顺序查找是最简单的查找方法,适用于线性表。它按照数据顺序遍历查找表,时间复杂度为O(n)。本文通过两个例子介绍了如何在Python中实现顺序查找,包括查找元素首次出现的位置和所有出现的位置。
摘要由CSDN通过智能技术生成

定义

查找的定义为:在一个数据元素集合中,通过一定的方法确定与给定关键字相同的数据元素是否存在于集合中。一般来说,如果查找成功,程序会返回数据的位置或相关信息;如果查找失败,则返回相应的提示。

查找的方法可以分为两种:比较查找法与计算式查找法。

比较查找法基于两种数据结构:线性表和树。
查找的对象(一般是由同一类型的数据元素/记录构成的集合)又可以被称为查找表。

查找还分为静态查找和动态查找。
对查找表进行静态查找时,程序只进行查找并返回信息;

进行动态查找时,在静态查找的基础上,还增加了增删查找表中数据元素的操作。

顺序查找是所有查找方法中最基础也最简单的一种,一般用于对线性表的查找。它是按照数据在查找表中原有的顺序进行遍历查询的算法。由于需要遍历整个查找表,所以顺序查找的时间复杂度为 O(n)。

举例来说,如图 1 所示,在一个数组中,顺序查找就是按数据的下标从小到大查找。这时候,只要知道数组的长度,使用一个 for 循环就可以完成查找了。在 for 循环内部的代码根据输出要求而定。

在这里插入图片描述
图 1:顺序查找

接下来介绍两个顺序查找的例题。

【例 1】在一个已知的列表 [1,3,5,4,2,4,6,5,1]
中查找给定的元素出现的第一个位置。如果给定的元素存在于列表中,输出它的下标ÿ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值