【Day30】[演算法]-线性搜寻法Linear Search

搜寻(Search)

就是从一群资料中找出符合某些条件的资料,当资料量非常庞大时,如何在短时间内有效率地找到所要的资料,因此,搜寻演算法就变得相当重要。


线性搜寻法(Linear Search)

又称循序搜寻法,是最简单的搜寻法。原理是在资料列中从头开始逐一的搜寻,一笔一笔的资料值与搜寻目标值做比对,直到找到为止。此种搜寻优点是搜寻前不需要将资料做任何排序,因为都是从头开始搜寻。缺点是若目标资料刚好排在最後一笔,则需要作n次的比对,因此不适合资料量过大的搜寻。

下面利用75 50 60 20 90 40 80搜寻20为例
https://ithelp.ithome.com.tw/upload/images/20211009/20121027ukkvTUwtGs.jpg

实作方式就是使用一般的回圈


JavaScript

let data=[75,50,60,20,90,40,80];
let target=20;

function linearSearch(arr,target){
  for(let i=0;i<arr.length;i++){
    if(arr[i]===target){
      return "有搜寻结果: 在第" + (i+1) + "项";
    }
  }
  return "无搜寻结果";
}

console.log(linearSearch(data,target))
//有搜寻结果: 在第4项

Python

#Linear Search

data=[75,50,60,20,90,40,80]
target=20

def linearSearch(arr, target):
    for i in range(len(arr)):
        if arr[i] == target:
            return "有搜寻结果: 在第" + str(i + 1) + "项"
    return "无搜寻结果"

print(linearSearch(data,target))
#有搜寻结果: 在第4项

<<:  DAY 26 首页文章

>>:  每日挑战,从Javascript面试题目了解一些你可能忽略的概念 - Day26

Day13 ATT&CK for ICS - Initial Access(3)

今日汇整几个会搞混的「Remote Service」,分别有可远端连线的服务、直接暴露在外网的服务...

Unity与Photon的新手相遇旅途 | Day19-Photon基本设定

今天的内容为Unity与Photon PUN v2 的基本设定。 更正:影片中所下载的Photon套...

ReactFiber节点的更新入口:beginWork

React的更新任务主要是调用壹个叫做workLoop的工作循环去构建workInProgress树...

33岁转职者的前端笔记-DAY 3 什麽是 iframe 及使用心得

iframe 是 写网页常见的语法之一 在进公司前不知道有这语法 但通常一个网页内容 左侧或上方选单...

[区块链&DAPP介绍 Day4] 第一个智能合约

今天我们来实作第一个智能合约看看 首先,要发布智能合约一定就要就要有区块链,我们也不可能直接就真金白...