Vb算法復(fù)習(xí)提要概要_第1頁
Vb算法復(fù)習(xí)提要概要_第2頁
Vb算法復(fù)習(xí)提要概要_第3頁
Vb算法復(fù)習(xí)提要概要_第4頁
Vb算法復(fù)習(xí)提要概要_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Vb算法復(fù)習(xí)概要綱要Vb算法復(fù)習(xí)概要綱要8/8肀PAGE8膈莆螄袁薂節(jié)蝿膄羋芆膅肂芄薁薈肇莇膆薆聿螞肅薁蚆莇肆蚃芀蒄莁莀芅蕆羆肄薁袂羃腿襖薇羇蒅蒈薃膁膂蒃蚇袇裊蝿肁螃羀芆螇螇芆羀螃肁蝿裊袇蚇蒃膂膁薃蒈蒅羇薇襖腿羃袂薁肄羆蕆芅莀莁蒄芀蚃肆莇蚆薁肅螞聿薆膆莇肇薈薁芄肂膅芆羋膄蝿節(jié)薂袁螄莆膈薄肀羄肄蠆莃蒆肈羅芁蒂莂莈芇蒆羈莆艿膄蝕蒁袆薅袈薃蒀螞膃膀蒅蚅螈羄蟻莄蒁罿肄聿螈蒞蚈螂肅羂蚃腿蚈螆衿蒄芁螁蒆腿蕿?zāi)i膀羈袃薀肅艿葿芃莁蚃膁莈蚄荿Vb算法復(fù)習(xí)概要綱要算法的程序?qū)崿F(xiàn)

一、解析法:

解析法是在解析詳盡問題的基礎(chǔ)上,抽取出一個數(shù)學(xué)模型,這個數(shù)學(xué)模型能用若干個解析表達(dá)式表示出來,解決了這些表達(dá)式,問題也就得以解決了。

解析法是程序設(shè)計中最常用的算法之一。

重點(diǎn):解析問題,得出解析表達(dá)式。

二、窮舉法:

也叫列舉法、列舉法,是將求解對象一一列舉出來,逐一加以解析、辦理,并考據(jù)結(jié)果可否滿足給定的條件,窮舉完整部對象,問題將得以解決。

重點(diǎn):窮舉范圍考據(jù)條件

窮舉用for循環(huán)和do循環(huán)實(shí)現(xiàn)。

窮舉范圍要要包括所有可能,不能夠遺漏,在此前提下要盡量減小范圍,提高效率。

三、查找:數(shù)組:想同種類的變量會集,

會集中的每個元素都是獨(dú)立的變量,

它們能夠經(jīng)過數(shù)組序號被

引用。(一)序次查找:從數(shù)據(jù)的第一個元素開始,從前向后按數(shù)據(jù)的序次查找指定的重點(diǎn)值。

程序通式:

x=[表達(dá)式]’從表達(dá)式獲取要查找的重點(diǎn)值

fori=0to[數(shù)組最大下標(biāo)]’經(jīng)過循環(huán)實(shí)現(xiàn)逐一查找。也可用do循環(huán)

ifx=[數(shù)組名](i)then’考據(jù)數(shù)據(jù)和重點(diǎn)值可否般配,般配表示找到

,,’找到了今后做什么呢?就是這個“。。?!?/p>

,,

exitdo’若是確信般配項只有一個,那么找到后就退出循

環(huán),不需要連續(xù)查找了。

Endif

NextiIfi>[數(shù)組最大下標(biāo)

]then

。。。

’若是找到循環(huán)就會提前退出,i就會小于等

于終值,因此,i大于終值說明沒找到到。

若是沒找到就。。。

說明:若是般配項有很多項的話,找到后就不能夠用exitdo退出循環(huán),而應(yīng)連續(xù)向下查

找,此時應(yīng)該用flag變量做一個標(biāo)記,初始值為0,找到后,把它改為1。

(二)二分查找:也叫折半查找,設(shè)置一個上界和一個下界,爾后取上下界的中間元素與指定的重點(diǎn)值比對,若是切合則表示找到,不符則依照重點(diǎn)值在左半部還是右半部舍棄別的一半,調(diào)整上、下界,重取中間值查找。當(dāng)下界大于上界時則表示沒有該數(shù)據(jù)。

二分查找的數(shù)據(jù)必定是有序的。

通式:

x=[表達(dá)式]’獲取查找重點(diǎn)值。

intlow=0inthigh=[

數(shù)組最大元素下標(biāo)

]

intmid=(intlow+inthigh)\2dountilintlow>inthigh

’最初的一次查找’進(jìn)入循環(huán)查找,直到

intlow>inthigh

時,表示找不到

ifa(intmid)=xthen’條件般配,表示找到,則退出循環(huán),不再連續(xù)查找

exitdo

elseifa(intmid)<xthen’找到的比目標(biāo)值小,則調(diào)整intlow

intlow=intmid+1

intmid=(intlow+inthigh)\2’重設(shè)intmid,進(jìn)行下一次查找

else’以上條件都不滿足,表示找到的比目標(biāo)值大,需調(diào)整inthigh

inthigh=intmid-1

intmid=(intlow+inthigh)\2

endif

loop

ifintlow>inthighthen’如何判斷找沒找到呢?就經(jīng)過intlow和inthigh比較來實(shí)現(xiàn)

。。。。。’intlow>inthigh表示沒找到,就。。。。。。

。。。。。

。。。。。else

’若是找到,就。。。。

。。。。

。。。。endif

以上通式的循環(huán)查找部分能夠優(yōu)化為:

dountilintlow>inthighora(intmid)=xifa(intmid)<xthen

’找到的比目標(biāo)值小,則調(diào)整

intlow

intlow=intmid+1intmid=(intlow+inthigh)\2else

’重設(shè)intmid,進(jìn)行下一次查找

’以上條件都不滿足,表示找到的比目標(biāo)值大,需調(diào)整

inthigh

inthigh=intmid-1

intmid=(intlow+inthigh)\2

endif

loop四、冒泡排序:

經(jīng)過將相鄰的元素進(jìn)行比較和交換,漸漸將一個無序序列排列為一個有序序列。

元素按從小到大排稱為升序,按從大到小排稱為降序。

排序通式一:fori=0to[數(shù)字個數(shù)]-2

forj=0to[數(shù)字個數(shù)

ifa(j)>a(j+1)then

temp=a(j)

a(j)=a(j+1)

a(j+1)=temp

endif

nextj

nexti

]-2

–i

說明:第二行也可改為forj=1to[

此時,應(yīng)該比較和交換a(j)

數(shù)字個數(shù)

和a(j-1)

]-1

–i

forj=[

數(shù)字個數(shù)

]-1toi+1step

–1

五、遞歸法:

定義一個函數(shù)時,這個函數(shù)直接或間接地調(diào)用了自己,就是遞歸。

遞歸重點(diǎn):一是要找到遞推的通式,二是要找到開始回歸的遞推終點(diǎn)。因此,遞歸函數(shù)一般都是兩段式if語句結(jié)構(gòu),一個分支是回歸點(diǎn),一個是遞推通式。

程序通式:

程序開始后,在主過程中調(diào)用遞歸函數(shù),爾后函數(shù)依照遞推通式不斷調(diào)用自己,到回歸點(diǎn)后

再逐級返回。函數(shù)返回值以函數(shù)名=表達(dá)式的方法返回。

函數(shù):function

f(byvaln

as

參數(shù)種類)

as

函數(shù)種類

if

n=[回歸條件

]then

f=[表達(dá)式]

’若是滿足回歸條件,

表示遞推已達(dá)終點(diǎn),開始返回,[函數(shù)名

]=[表達(dá)式

]。

elsef=[遞推通式

]

’不滿足回歸條件,則不斷調(diào)用自己,逐級向下遞推

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論