




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
查找算法順序查找對(duì)分查找查找算法順序查找查找是一種查詢數(shù)據(jù)的技術(shù),其目標(biāo)是能以比較少的步聚和較短的時(shí)間找到所需的對(duì)象。順序查找的基本思想
是從第一個(gè)數(shù)據(jù)開(kāi)始,按數(shù)據(jù)的順序逐個(gè)將數(shù)據(jù)與給定的值進(jìn)行比較。若某個(gè)數(shù)據(jù)和給定的值相等,則查找成功,找到所查數(shù)據(jù)的位置;反之,查找不成功。查找算法查找是一種查詢數(shù)據(jù)的技術(shù),其目標(biāo)是能以比較少的步聚和較短的時(shí)順序查找27363218d(1)d(2)d(3)d(4)輸入查找的元素值key=32i=1i=2i=3此時(shí)d(i)=key,數(shù)組中的第3個(gè)位置如果輸入查找的元素值key=22i=1i=2i=3i=4i=527363218d(1)d(2)d(3)d(4)此時(shí)i等于5,超過(guò)數(shù)組中元素個(gè)數(shù),找不到從數(shù)組d的第1個(gè)元素d(1)開(kāi)始,依次判斷各元素的值是否與查找鍵key的值相等。順序查找27363218d(1)d(2)d(3)順序查找的流程圖開(kāi)始i1d(i)=key?i<=n?ii+1未找到,輸出結(jié)果:0找到,輸出結(jié)果:i結(jié)束YNYN順序查找的流程圖開(kāi)始i1d(i)=key?i<=轉(zhuǎn)化成程序Key=Val(Text1.Text)Fori=1TonIfd(i)=KeyThenLabel1.Caption="在數(shù)組的"+Str(i)+"位置中"ExitForEndIfNextiIfi=n+1ThenLabel1.Caption="在數(shù)組中沒(méi)有找到"+Str(Key)EndIf轉(zhuǎn)化成程序Key=Val(Text1.Text)1、從數(shù)組的第1個(gè)元素開(kāi)始,不斷判斷d(i)是否等于key2、最少查找1次,最多查找n次3、查找成功,輸出該元素的下標(biāo)i
查找不成功,輸出“未找到”在d(n)中用順序查找方法查找某個(gè)值的規(guī)律:1、從數(shù)組的第1個(gè)元素開(kāi)始,不斷判斷d(i)是否等于key思考1:
如何在最短時(shí)間猜中1000以內(nèi)數(shù)字?每次猜中間數(shù)字!思考1:每次猜中間數(shù)字!對(duì)分查找的基本思想對(duì)分查找的前提是數(shù)據(jù)已經(jīng)有序(以遞增為例),然后把待查找的數(shù)據(jù)與數(shù)組中間位置的數(shù)比較,如果比中間位置的數(shù)大,在數(shù)組的后半部分繼續(xù)查找,否則在數(shù)組的前半部分查找,繼續(xù)對(duì)分查找,直到找到待查找的數(shù)在數(shù)組中的位置或數(shù)組已無(wú)法對(duì)分。對(duì)分查找算法對(duì)分查找的基本思想對(duì)分查找算法12345678910111213141516下標(biāo)元素M=fix((i+j)/2)=8I=1J=16第1次比較:Key>d(m)查找范圍應(yīng)該變成d(9)~d(16)Key=52①變量I和J記錄所要查找范圍的起始和終止位置過(guò)程:12345678910111213141516下標(biāo)元素J=16M=fix((i+j)/2)=12第2次比較:Key<d(m)查找范圍應(yīng)該變成d(9)~d(11)12345678910111213141516下標(biāo)元素I=9J=11M=fix((i+j)/2)=10第3次比較:Key=d(m)找到了!②計(jì)算中間點(diǎn)M的位置:M=fix((i+j)/2)或M=(i+j)\2③比較key和d(M)的值,根據(jù)結(jié)果重新確定查找的起始和終止位置或者直接告訴已經(jīng)找到J不變,I=M+1=9I=9I不變,J=M-1=1112345678910111213141516下標(biāo)元素M=f在規(guī)模為n的數(shù)組變量d中進(jìn)行對(duì)分查找的流程圖未找到,Print0開(kāi)始I←1,j←ni<=j?找到,Printm結(jié)束NY計(jì)算中點(diǎn)m←fix((i+j)/2)d(m)=key?key<d(m)?j←m-1i←m+1YYNN81在規(guī)模為n的數(shù)組變量d中進(jìn)行對(duì)分查找的流程圖未找到,Prii=1:j=nDoWhilei<=j
m=fix((i+j)/2)’或m=(i+j)\2Ifd(m)<>KeyThenIfKey<d(m)Then
j=m-1Elsei=m+1EndIfelsePrintmExitDoEndIfLoopIfi>jThenPrint“0”轉(zhuǎn)
化
成
程
序i=1:j=n轉(zhuǎn)
化
成
程
序練習(xí)題1、數(shù)據(jù)320,340,347,349,362,382,423,454,使用對(duì)分查找,設(shè)定查找鍵key,若第一個(gè)被訪問(wèn)到的數(shù)據(jù)是349,小于key值,則第二個(gè)被訪問(wèn)到的數(shù)據(jù)是()A.340B.382C.423D.4542、7位學(xué)員的身高(單位:cm)從高到低依次為:178,177,175,172,170,165,162,用對(duì)分查找法找到178的過(guò)程中,依次被訪問(wèn)到的數(shù)據(jù)是()A.178B.172,175,178C.172,177,178D.172,175,177,178練習(xí)題1、數(shù)據(jù)320,340,347,349,362,382比較順序查找是一種基本、簡(jiǎn)單的查找算法,但查找的效率往往過(guò)低;對(duì)分查找時(shí)每次都把查找范圍縮小一半對(duì)分查找算法數(shù)據(jù)次數(shù)較少,效率較高,但它要求數(shù)組中的數(shù)據(jù)是有序的。比較順序查找是一種基本、簡(jiǎn)單的查找算法,但查找的效率往往過(guò)低順序查找與對(duì)分查找比較順序查找與對(duì)分查找比較查找算法順序查找對(duì)分查找查找算法順序查找查找是一種查詢數(shù)據(jù)的技術(shù),其目標(biāo)是能以比較少的步聚和較短的時(shí)間找到所需的對(duì)象。順序查找的基本思想
是從第一個(gè)數(shù)據(jù)開(kāi)始,按數(shù)據(jù)的順序逐個(gè)將數(shù)據(jù)與給定的值進(jìn)行比較。若某個(gè)數(shù)據(jù)和給定的值相等,則查找成功,找到所查數(shù)據(jù)的位置;反之,查找不成功。查找算法查找是一種查詢數(shù)據(jù)的技術(shù),其目標(biāo)是能以比較少的步聚和較短的時(shí)順序查找27363218d(1)d(2)d(3)d(4)輸入查找的元素值key=32i=1i=2i=3此時(shí)d(i)=key,數(shù)組中的第3個(gè)位置如果輸入查找的元素值key=22i=1i=2i=3i=4i=527363218d(1)d(2)d(3)d(4)此時(shí)i等于5,超過(guò)數(shù)組中元素個(gè)數(shù),找不到從數(shù)組d的第1個(gè)元素d(1)開(kāi)始,依次判斷各元素的值是否與查找鍵key的值相等。順序查找27363218d(1)d(2)d(3)順序查找的流程圖開(kāi)始i1d(i)=key?i<=n?ii+1未找到,輸出結(jié)果:0找到,輸出結(jié)果:i結(jié)束YNYN順序查找的流程圖開(kāi)始i1d(i)=key?i<=轉(zhuǎn)化成程序Key=Val(Text1.Text)Fori=1TonIfd(i)=KeyThenLabel1.Caption="在數(shù)組的"+Str(i)+"位置中"ExitForEndIfNextiIfi=n+1ThenLabel1.Caption="在數(shù)組中沒(méi)有找到"+Str(Key)EndIf轉(zhuǎn)化成程序Key=Val(Text1.Text)1、從數(shù)組的第1個(gè)元素開(kāi)始,不斷判斷d(i)是否等于key2、最少查找1次,最多查找n次3、查找成功,輸出該元素的下標(biāo)i
查找不成功,輸出“未找到”在d(n)中用順序查找方法查找某個(gè)值的規(guī)律:1、從數(shù)組的第1個(gè)元素開(kāi)始,不斷判斷d(i)是否等于key思考1:
如何在最短時(shí)間猜中1000以內(nèi)數(shù)字?每次猜中間數(shù)字!思考1:每次猜中間數(shù)字!對(duì)分查找的基本思想對(duì)分查找的前提是數(shù)據(jù)已經(jīng)有序(以遞增為例),然后把待查找的數(shù)據(jù)與數(shù)組中間位置的數(shù)比較,如果比中間位置的數(shù)大,在數(shù)組的后半部分繼續(xù)查找,否則在數(shù)組的前半部分查找,繼續(xù)對(duì)分查找,直到找到待查找的數(shù)在數(shù)組中的位置或數(shù)組已無(wú)法對(duì)分。對(duì)分查找算法對(duì)分查找的基本思想對(duì)分查找算法12345678910111213141516下標(biāo)元素M=fix((i+j)/2)=8I=1J=16第1次比較:Key>d(m)查找范圍應(yīng)該變成d(9)~d(16)Key=52①變量I和J記錄所要查找范圍的起始和終止位置過(guò)程:12345678910111213141516下標(biāo)元素J=16M=fix((i+j)/2)=12第2次比較:Key<d(m)查找范圍應(yīng)該變成d(9)~d(11)12345678910111213141516下標(biāo)元素I=9J=11M=fix((i+j)/2)=10第3次比較:Key=d(m)找到了!②計(jì)算中間點(diǎn)M的位置:M=fix((i+j)/2)或M=(i+j)\2③比較key和d(M)的值,根據(jù)結(jié)果重新確定查找的起始和終止位置或者直接告訴已經(jīng)找到J不變,I=M+1=9I=9I不變,J=M-1=1112345678910111213141516下標(biāo)元素M=f在規(guī)模為n的數(shù)組變量d中進(jìn)行對(duì)分查找的流程圖未找到,Print0開(kāi)始I←1,j←ni<=j?找到,Printm結(jié)束NY計(jì)算中點(diǎn)m←fix((i+j)/2)d(m)=key?key<d(m)?j←m-1i←m+1YYNN81在規(guī)模為n的數(shù)組變量d中進(jìn)行對(duì)分查找的流程圖未找到,Prii=1:j=nDoWhilei<=j
m=fix((i+j)/2)’或m=(i+j)\2Ifd(m)<>KeyThenIfKey<d(m)Then
j=m-1Elsei=m+1EndIfelsePrintmExitDoEndIfLoopIfi>jThenPrint“0”轉(zhuǎn)
化
成
程
序i=1:j=n轉(zhuǎn)
化
成
程
序練習(xí)題1、數(shù)據(jù)320,340,347,349,362,382,423,454,使用對(duì)分查找,設(shè)定查找鍵key,若第一個(gè)被訪問(wèn)到的數(shù)據(jù)是349,小于key值,則第二個(gè)被訪問(wèn)到的數(shù)據(jù)是()A.340B.382C.423D.4542、7位學(xué)員的身高(單位:cm)從高到低依次為:178,177,175,172,170,165,162,用對(duì)分查找法找到178
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火安全協(xié)議書(shū)范本復(fù)制
- 供用電協(xié)議書(shū)范本格式
- 長(zhǎng)期還款協(xié)議書(shū)范本
- 地坪施工分包協(xié)議書(shū)范本
- 2025版現(xiàn)代化辦公樓物業(yè)管理與設(shè)施設(shè)備維護(hù)服務(wù)合同
- 2025版新能源電池采購(gòu)合同與銷(xiāo)售合同
- 二零二五年度新型材料門(mén)窗安裝與研發(fā)合同
- 二零二五年安防工程施工現(xiàn)場(chǎng)消防保障合同
- 二零二五年度油氣管道安裝施工安全管理協(xié)議
- 2025版邊坡支護(hù)施工工程材料檢驗(yàn)檢測(cè)合同
- 煤氣取樣安全操作規(guī)程
- 北京市高考語(yǔ)文名著閱讀《紅樓夢(mèng)》試題(附解析)
- GB/T 27622-2011畜禽糞便貯存設(shè)施設(shè)計(jì)要求
- 急性胃腸炎的護(hù)理查房
- 第一章-護(hù)理學(xué)基礎(chǔ)緒論
- 煙花爆竹經(jīng)營(yíng)單位安全管理人員培訓(xùn)教材課件
- 裝修改造工程施工現(xiàn)場(chǎng)總平面布置
- 六年級(jí)數(shù)學(xué)分?jǐn)?shù)除法、解方程計(jì)算題 (含答案)
- 高速鐵路竣工驗(yàn)收辦法
- 擬投入公路工程施工設(shè)備檢測(cè)儀器設(shè)備表
評(píng)論
0/150
提交評(píng)論