4.1 算法概論
1.算法的概念
算法:指用計(jì)算機(jī)解決某一問(wèn)題的方法和步驟。
算法分類: 數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問(wèn)題,如:求超越方程的根、求定積分、解微分方程等。
非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等。
數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問(wèn)題,如:求超越方程的根、求定積分、解微分方程等。
非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等。
2.算法的特征
(1)確定性:指算法的每個(gè)步驟都應(yīng)確切無(wú)誤,沒(méi)有歧義。
(2)可行性:指算法的每個(gè)步驟必須是計(jì)算機(jī)能夠有效執(zhí)行、可以實(shí)現(xiàn)的,并可得到確定的結(jié)果。
(3)有窮性:指一個(gè)算法應(yīng)該在有限的時(shí)間和步驟內(nèi)可以執(zhí)行完畢的。
(4)輸入性:指一個(gè)算法可以有0或多個(gè)輸入數(shù)據(jù)。
(5)輸出性:指一個(gè)算法必須有一個(gè)或多個(gè)輸出結(jié)果。
3.算法的評(píng)價(jià)
主要評(píng)價(jià)指標(biāo)是:算法是否正確、運(yùn)行的效率、占用系統(tǒng)資源的多少。
4.算法的描述
一般常用流程框圖來(lái)描述算法。
5.基本算法結(jié)構(gòu)
“結(jié)構(gòu)化程序設(shè)計(jì)方法”規(guī)定算法有三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
6.算法示例
(1)歐幾里德算法——求兩個(gè)自然數(shù)的公約數(shù)
(2)順序查找算法—— 在N個(gè)字符串集合中,查找有無(wú)特定的字符串存在
1.算法的概念
算法:指用計(jì)算機(jī)解決某一問(wèn)題的方法和步驟。
算法分類: 數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問(wèn)題,如:求超越方程的根、求定積分、解微分方程等。
非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等。
數(shù)值算法:用于解決一般數(shù)學(xué)解析方法難以解決的問(wèn)題,如:求超越方程的根、求定積分、解微分方程等。
非數(shù)值算法:用于對(duì)非數(shù)值信息進(jìn)行查找、排序等。
2.算法的特征
(1)確定性:指算法的每個(gè)步驟都應(yīng)確切無(wú)誤,沒(méi)有歧義。
(2)可行性:指算法的每個(gè)步驟必須是計(jì)算機(jī)能夠有效執(zhí)行、可以實(shí)現(xiàn)的,并可得到確定的結(jié)果。
(3)有窮性:指一個(gè)算法應(yīng)該在有限的時(shí)間和步驟內(nèi)可以執(zhí)行完畢的。
(4)輸入性:指一個(gè)算法可以有0或多個(gè)輸入數(shù)據(jù)。
(5)輸出性:指一個(gè)算法必須有一個(gè)或多個(gè)輸出結(jié)果。
3.算法的評(píng)價(jià)
主要評(píng)價(jià)指標(biāo)是:算法是否正確、運(yùn)行的效率、占用系統(tǒng)資源的多少。
4.算法的描述
一般常用流程框圖來(lái)描述算法。
5.基本算法結(jié)構(gòu)
“結(jié)構(gòu)化程序設(shè)計(jì)方法”規(guī)定算法有三種基本結(jié)構(gòu): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
6.算法示例
(1)歐幾里德算法——求兩個(gè)自然數(shù)的公約數(shù)
(2)順序查找算法—— 在N個(gè)字符串集合中,查找有無(wú)特定的字符串存在