iT邦幫忙

2021 iThome 鐵人賽

DAY 30
0
Software Development

資料結構與演算法,使用JavaScript與Python系列 第 30

【Day30】[演算法]-線性搜尋法Linear Search

  • 分享至 

  • xImage
  •  

搜尋(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項

上一篇
【Day29】[演算法]-基數排序法Radix Sort
下一篇
【Day31】[演算法]-二分搜尋法Binary Search
系列文
資料結構與演算法,使用JavaScript與Python35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言