查找算法之順序查找

參考:

1. 順序查找 | 博客園

?

基本思想:

?

順序查找,就是從第一個元素開始,按索引順序遍歷待查找序列,直到找出給定目標或者查找失敗。

特點:

1. 對待查序列(表)無要求 --?待查找序列可以是有序,也可以是無序;

2. 從第一個元素開始;

3. 需要逐一遍歷整個待查序列(除非已經找到);

4. 若查找到最后一個元素還沒找到,則查找失敗;

?

缺點:

效率低 --?需要遍歷整個待查序列

?

時間復雜度:

O(n),平均查找時間 = 列表長度/2

空間復雜度:

1個待查序列+1個目標元素 <=> O(n)

?

看一組示例,從一組數據[3,6,7,2,12,9,0,11]中查找12,

初始狀態:指針p指向列表第一個元素,即索引為0元素,開始向右滑動,以匹配、查找目標

?

Step1:p指針開始向右滑行一個單位,進行比較

Step2,3,直到4:查找到元素12,匹配目標12成功,索引=4

?

示例代碼

data = [3,6,7,2,12,9,0,11]"""
sequence search 
"""
def seqsearch(array, target):i = 0for i in range(len(array)):element = array[i]if element == target:print 'sucess to find out %d from array, index=%d'%(target, i)return iprint 'fail to find out the target'return -1print seqsearch(data, 12) #sucess to find out
print seqsearch(data, 8) #fail to find out

運行結果

sucess to find out 12 from array, index=4
4
fail to find out the target
-1

?

轉載于:https://www.cnblogs.com/fortunely/p/9616597.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396944.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396944.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396944.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

matlab kfda,SVD與KFDA相結合人臉識別-matlab-畢業論文

XXXXxx畢業設計(論文)最高達到88%。當在抽取的特征維數為39&#xff0c;PCA空間的投影維數為110的情況下&#xff0c;隨著訓練樣本個數的增加&#xff0c;LDA的識別情況如表4所示表4 ORL人臉庫LDA測試結果(2)訓練樣本數 識別率/% 識別時間/S3 68.2 52.3594 87.92 31.5315 88.00…

python數據預測_python時間序列預測股票走勢

提示&#xff1a;這只是個訓練模型&#xff0c;技術不具備實際意義&#xff0c;入市需謹慎。 首先調用tushare包 import tushare as ts import pandas as pd import matplotlib.pyplot as plt 查自己比較感興趣的股票&#xff0c;這里我查找的是新能源/燃料電池/氫燃料&#xf…

30.Android之百度地圖簡單學習

今天用了下百度地圖&#xff0c;簡單寫了一個例子&#xff0c;記錄下。 一、申請AK&#xff08;API Key&#xff09; 要想使用百度地圖sdk&#xff0c;就必須申請一個百度地圖的api key。申請流程挺簡單的。 首先注冊成為百度的開發者&#xff0c;然后打開http://lbsyun.baidu.…

在datatable中,在指定位置插入列

假如dataset ds 里面已經存在了數據&#xff0c;當我們想在datatable中插入一列數據&#xff0c;可以用以下方法實現&#xff1a;ds.Tables[0].Columns.Add("star");ds.Tables[0].Columns["star"].SetOrdinal(0);這樣“star”列就添加到datatable的第一列了…

python爬取b站彈幕_爬取B站彈幕并且制作詞云

目錄 SRE實戰 互聯網時代守護先鋒&#xff0c;助力企業售后服務體系運籌帷幄&#xff01;一鍵直達領取阿里云限量特價優惠。 爬取彈幕 1. 從手機端口進入網頁爬取找到接口 2.代碼 import requests from lxml import etree import numpy as np urlhttps://api.bilibili.com/x/v1…

myeclipse始終build workspace

之前我的myeclipse運行某個項目的時候&#xff0c;總是不停的buildworkspace&#xff0c;而且稍微改動一個(不管是java類還是jsp)都會加載接近1分鐘甚至更久&#xff0c;從網上搜了好久&#xff0c;先總結下搜的多數方法 1、叫你去掉.project文件的一段話 <buildCommand>…

python控制燈_Python 控制樹莓派 GPIO 輸出:控制 LED 燈

樹莓派 GPIO 控制輸出的入門應該都是從控制 LED 燈開始的吧。 樹莓派版本&#xff1a;Model 3B 樹莓派系統&#xff1a;Raspbian Stretch with desktop and recommended software&#xff0c;April 2019 連接裝置 準備一個 LED 燈&#xff0c;兩個兩頭都為母的杜邦線。對照下圖…

圖論:弦圖最小點染色

弦圖的定義&#xff1a;當圖中任意長度大于3的環都至少有一個弦時&#xff0c; 一個無向圖稱為弦圖 不存在四角、五角等關系就說明這個圖是一個弦圖 題目問的是&#xff0c;任何一對相互認識的人不可以組一隊&#xff0c;問最多可以組多少對 所有的人構成的關系圖是一個弦圖&am…

報錯型sql注入原理分析

0x00&#xff1a;前言關于sql注入&#xff0c;經久不衰&#xff0c;現在的網站一般對sql注入的防護也相對加強了&#xff0c;2016年的***測試報告中&#xff0c;出現最多的是xss&#xff08;跨站腳本***&#xff09;和明文傳輸等&#xff0c;但是對sql注入的利用方式&#xff0…

matlab矩陣 0,matlab zeros初始化為0矩陣

zeros為創建一個值為零的數組&#xff1b;如matrix1zeros(4,5);%4*5的矩陣&#xff0c;矩陣中每個元素都為0matrix2zeros(4,5,3);%4*5*3的數組&#xff0c;數組中每個元素都為0下面舉一個將圖像存到數組的例子對RGB圖片1.jpg&#xff0c;2.jpg&#xff1b;大小為700*500*3創建4…

HDU 2199

人生中第一道搜索題 精度精度、&#xff01;&#xff01;&#xff01; 1 #include<iostream>2 #include<algorithm>3 #include<cmath>4 #include<cstdio>5 using namespace std;6 double f(double x)7 {8 return 8*pow(x,4.0)7*pow(x,3.0)2*pow(x,…

python文件編譯_編譯Python文件

編譯Python文件 一、編譯Python文件 為了提高加載模塊的速度&#xff0c;強調強調強調&#xff1a;提高的是加載速度而絕非運行速度。python解釋器會在__pycache__目錄中下緩存每個模塊編譯后的版本&#xff0c;格式為&#xff1a;module.version.pyc。通常會包含python的版本號…

SDN-博客收集

1、云網融合的多云網絡轉載于:https://www.cnblogs.com/snowwhite/p/9624404.html

php cookie 字串,php入門(字符串,cookie,session)

php入門(字符串,cookie,session)&#xff0c;有需要的朋友可以參考下。字符串獲取字符串的長度: strlen()函數獲取中文字長echo mb_strlen($str,”UTF8”);英文字符串截取$stri love you;復制代碼//截取love這幾個字母echo substr($str, 2, 4);//為什么開始位置是2呢&#xff0…

批處理命令Start

2019獨角獸企業重金招聘Python工程師標準>>> 運行hello.exe&#xff08;最小化&#xff09; start /MIN hello.exe 用記事本打開readme.txt&#xff08;最大化&#xff09; start /MAX notepad readme.txt 打開網頁 start http://www.baidu.com/ 調用另外一個腳本&…

vim亂碼的解決

解決vim文件亂碼&#xff0c;打開文件亂碼&#xff0c;菜單&#xff0c;提示信息亂碼&#xff1a; 有四個跟字符編碼方式有關的選項&#xff0c;encoding、fileencoding、fileencodings、termencoding 在linux中修改.vimrc&#xff08;在win中是_vimrc&#xff09;A&#xff0c…

arcgis python實例_arcgis二次開發_arcgis二次開發python_arcgis二次開發實例

[1.rar] - QQ連連看的源碼.單消秒殺掛機等功能喜歡的朋友請拿去研究 [qqCHAR.rar] - qq 驗證碼識別程序 可以叫準確的識別出qq登陸前的驗證碼 [1.rar] - 本書以Visualc作為開發語言&#xff0c;結合大量實例&#xff0c;詳細介紹了利用Arcobjects組件進行GIS二次開發的方法和過…

Linux命令-自動掛載文件/etc/fstab功能詳解

一、/etc/fstab文件的作用磁盤被手動掛載之后都必須把掛載信息寫入/etc/fstab這個文件中&#xff0c;否則下次開機啟動時仍然需要重新掛載。系統開機時會主動讀取/etc/fstab這個文件中的內容&#xff0c;根據文件里面的配置掛載磁盤。這樣我們只需要將磁盤的掛載信息寫入這個文…

微分方程在matlab中的實現,Matlab微分方程參數優化的Forcal實現

FCC文件缺省設置&#xff1a;(XNote請修改為X軸單位) (YNote請修改為Y軸單位)(AutoY1) (XMin0) (XMax1) (YMin0) (YMax1)(BorderPixels60) (MultiplyX1) (MultiplyY1) (Grid0) (DivideXY10) (XYNumWidth3) (DataMax2)(ForMax50) (LoadDll)[CODE]// 通用設置&#xff1a;// (XNo…

常用命令

1.在控制臺下關閉Java進程&#xff1a;taskkill /f /im java.exe轉載于:https://www.cnblogs.com/super90/p/5133906.html