版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
算法思想數(shù)組與算法一、算法選擇排序:在參加排序數(shù)組的所有元素中找出最小(或最大)數(shù)據(jù)的元素,使它與第一個(gè)元素中的數(shù)據(jù)相互交換位置。然后再在余下的元素中找出最?。ɑ蜃畲螅?shù)據(jù)的元素,與第二個(gè)元素中的數(shù)據(jù)相互交換位置。以此類推,直到所有元素成為一個(gè)有序的序列。具有較高的效率。冒泡排序:依次比較相鄰的兩個(gè)數(shù),若前一個(gè)數(shù)比后一個(gè)數(shù)大就對(duì)調(diào)兩個(gè)數(shù)的位置,也就是將較大的放在后面,較小的數(shù)放在前面,否則就不對(duì)調(diào)。順序查找:進(jìn)行查找時(shí),一般從數(shù)據(jù)的第1個(gè)元素開(kāi)始,按照數(shù)據(jù)的順序查找指定的關(guān)鍵值;如果被查數(shù)據(jù)和該關(guān)鍵值相匹配,則表示找到;否則,則表示被查數(shù)據(jù)中不存在該關(guān)鍵值,查找失敗。二分法查找:在有序的數(shù)列中,將要查找的數(shù)據(jù)與有序數(shù)列內(nèi)處于中間位置的數(shù)據(jù)進(jìn)行比較,如果兩者相等,則查找成功。否則就根據(jù)數(shù)據(jù)的有序性,在確定該數(shù)據(jù)的范圍應(yīng)該在數(shù)列的前半部分還是后半部分;在新確定的縮小范圍內(nèi),繼續(xù)按上述方法進(jìn)行查找,直到找到要查找的數(shù)據(jù),即查找成功,如果要查找的數(shù)據(jù)不存在,即查找不成功。枚舉算法:枚舉算法也稱窮舉算法,就是按照問(wèn)題本身的性質(zhì),一一列舉該問(wèn)題所有可能的解,并在逐一列舉的過(guò)程中,檢驗(yàn)每個(gè)可能解是否問(wèn)題真正的解。若是,就采納這個(gè)解,否則就拋棄它。在列舉的過(guò)程中,既不能遺漏,也不能重復(fù)。解析算法:解析算法是指用解析的方法找出問(wèn)題的前提條件與所求結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)
式,并通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題求解?;舅枷耄壕褪前磫?wèn)題本身的性質(zhì),一一列舉出該問(wèn)題所有可能的解,并在逐一列舉的過(guò)程中(不能遺漏、重復(fù)),檢驗(yàn)每個(gè)可能解是否是問(wèn)題的真正解,若是,就采納這個(gè)解,否則就拋棄它.二、枚舉算法PrivateSubCommand1_Click()DimcAsInteger,jAsInteger,nAsIntegerc=0Forj=0To99Step1n=25006+j*10If(nMod37=0)Or(nMod67=0)Thenc=c+1List1.AddItemStr(n)EndIfNextjText1.Text=Str(c)EndSub基本思想:是指用解析的方法找出表示問(wèn)題的前提條件與所求結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式,并通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題求解。三、解析算法Privatesubcommand1_click()dimmasinteger,kasinteger,yasintegerdimxasdoublem=val(text1.text)k=val(text2.text)x=(k-m)/(0.028*m)y=fix(x)ify<xtheny=y+1text3.text=“存期應(yīng)為”+str(y)+”年”Endsub儲(chǔ)蓄顧問(wèn):M元錢需要存多少年,才能得到至少K元本息?年利率均為2.8%1209688三、選擇排序Fori=1Ton-1k=i
For
j=i+1Ton
Ifd(j)<d(k)Thenk=jnextjifi<>kthen
t=d(i)
d(i)=d(k)
d(k)=t
EndIfNextid12345ik第一遍j10875變式:Fori=1Ton-1
For
j=i+1Ton
Ifd(i)<d(j)Then
t=d(j):
d(j)=d(i):
d(i)=t
EndIf
NextjNextI四、冒泡排序Fori=1Ton-1
For
j=nToi+1step-1
Ifd(j)<d(j-1)Then
t=d(j)
d(j)=d(j-1)
d(j-1)=t
EndIf
NextjNextId(1)d(2)d(3)d(4)jj-1i18323627d(j)<d(j-1)變式:Fori=1Ton-1
For
j=1Ton-i
Ifd(j)<d(j+1)Then
t=d(j)
d(j)=d(j+1)
d(j-+)=t
EndIf
NextjNexti1.選擇排序效率>
冒泡排序2.選擇排序交換次數(shù)<冒泡排序,選擇排序每遍最多交換一次,冒泡最多n-1次3.比較次數(shù)相等=n*(n-1)/2冒泡排序和選擇排序比較五、順序查找c=Int(Rnd()*55)+1Dowhilei<=nandnotflagIfc=a(i)Thenflag=Truei=i+1Loop
IfflagThenlabel1.caption=“恭喜”+b(i)+“同學(xué)“Elselabel1.caption=“沒(méi)有找到”EndIfc=Int(Rnd()*n)+1Fori=1TonIfc=a(i)Thenlabel1.caption=“恭喜”+b(i)+“同學(xué)"ExitForEndIfNextiIfi>55ThenText2.Text=“沒(méi)有該學(xué)號(hào)"EndIfEndSub六、二分法查找i=1:j=n:flag=FalseDowhilei<=jandnotflagM=fix((i+j)/2)
Ifd(m)=keythenflag=trueElseIfkey>d(m)theni=m+1'重新確定查找范圍
Elsej=m-1EndifLoopM=(i+j)\2Ifflagthensearch=m遞歸算法一個(gè)子程序或過(guò)程中調(diào)用該子程序本身。Function(f(nasinteger)aslongIfn<=1thenf=1Elsef=n*f(n-1)EndifEndfunctionSubcommand1_click()DimnkaslongDimnasintegerN=val(text1.text)Nk=f(n)Text2.text=str(nk)Endsub綜合運(yùn)用實(shí)例:2013年各省GDP用來(lái)查詢2013年全國(guó)各省(市/自治區(qū))GDP情況的VB程序界面如圖。期中31個(gè)?。ㄊ?自治區(qū))的具體數(shù)據(jù)存放在數(shù)據(jù)庫(kù)文件“count.accdb”的“GD[”表中。運(yùn)行程序,在列表框list1中顯示各省份及其對(duì)應(yīng)的GDP信息。在文本框text1中輸入要查詢的省(市/自治區(qū))名稱后,單擊“查詢”按鈕command1,在文本框text2和text3中分別顯示該?。ㄊ?自治區(qū))所對(duì)應(yīng)的GDP數(shù)據(jù)與全國(guó)排名,按此要求編寫的程序如下:Dimpv(1To31)Dimgdp(1To31)AsSingleDimiAsIntegerPrivateSubcommand1_click()DimmAsSingle,nAsString,jAsIntegerFori=1To30Forj=31Toi+1Step-1Ifgdp(j)>gdp(j-1)Then'①m=gdp(j):gdp(j)=gdp(j-1):gdp(j-1)=mn=_________________________________________'②EndIfNextjNextii=1'以下dowhile語(yǔ)句為加虛線框,即第三小題DoWhilei<32IfText1.Text=pv(i)ThenText2.Text=Str(gdp(i))Text3.Tex t=Str(i)ExitDoElsei=i+1EndIfLoop Ifi=32ThenText1.Text="輸入有誤,請(qǐng)重新輸入!"EndSub1.加線框語(yǔ)句在程序運(yùn)行完畢后,共執(zhí)行了__次?2.2處劃線處代碼為_(kāi)_______________3.加虛線框處的程序采用哪種查找算法?______PrivateSubForm_Load()DimconnAsNewADODB.Connection,rsAsNewADODB.RecordsetDimstrsqlAsStringconn.ConnectionString="provider=microsoft.ace.oledb.12.0;datasource="&App.Path&"\count.accdb"conn.Openstrsql="select*fromGDP"Setrs.ActiveConnection=connrs.Openstrsqli=0DoWhileNotrs.EOFi=i+1pv(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024運(yùn)輸委托合同協(xié)議書(shū)委托承運(yùn)協(xié)議
- 二零二五版風(fēng)力發(fā)電變壓器租賃及技術(shù)支持協(xié)議3篇
- 2024版汽車輪胎維修銷售合同范本
- 對(duì)現(xiàn)代農(nóng)莊建設(shè)的綠色設(shè)計(jì)理念與節(jié)能力提升策略的研究
- 2025年度創(chuàng)新型民間抵押借款服務(wù)標(biāo)準(zhǔn)合同4篇
- 提升客戶服務(wù)質(zhì)量的關(guān)鍵因素
- 2025年度汽車買賣合同中的全面質(zhì)量擔(dān)保承諾3篇
- 二零二五版物流企業(yè)人才培訓(xùn)與引進(jìn)合同3篇
- 智能家居系統(tǒng)與人工智能的跨界融合
- 提升匯報(bào)質(zhì)量的五個(gè)關(guān)鍵步驟
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長(zhǎng)郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 幼兒園人民幣啟蒙教育方案
- 部編版5年級(jí)語(yǔ)文下冊(cè)第五單元學(xué)歷案
- 高考介詞練習(xí)(附答案)
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機(jī)構(gòu)監(jiān)督
- 記錄片21世紀(jì)禁愛(ài)指南
- 腰椎間盤的診斷證明書(shū)
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)七 裂變傳播
- 單級(jí)倒立擺系統(tǒng)建模與控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論