java数组线性查找_数组查找: 线性查找与二分查找

前言

从数组中查找你需要的数据,是一个很常见的需求,那么当你查找所需数据时,用什么方法查找速度最快?

本文将通过图文形式,详细讲解线性查找与二分查找,并用JavaScript将其实现,欢迎各位感兴趣的前端开发者阅读本文。

线性查找

概念

线性查找是一种在数组中查找数据的算法,从数组的头部开始按顺序往下查找即为线性查找。

图解示例

如图所示,我们查找数字6在数组中的位置

acfbdd658e405c8c5220e7c4c5dedaa9.png

从数组的最左边开始查找,将其与6进行比较,如果结果一致,查找便结束,不一致则向右检查下一个数字。

4e290d67e47137fab22f971bc83fdecf.png

此处不一致,所以向右继续和下一个数字进行比较。

c2f47fd0cbf51c1703498102b9305675.png

重复上述操作直到找到数字6为止

5ca615fd72968546d4651d9cc20b4e0b.png

找到6了,查找结束

c10a32ea21dbf001b5a798b379132404.png

线性查找需要从头开始不断地按顺序检查数据,因此在数据量大且目标数据靠后,或者目标数据不存在时,比较的次数就会更多,也更为好使。若数据量为n,线性查找的时间复杂便为O(n)。

用JS实现线性查找

正如图解示例所述,我们想要查找某个值在数组中的位置,需要遍历这个数组,判断当前遍历到的值是否与目标值相等。

声明一个函数,参数为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值