數(shù)學(xué)111算法的概念文字資料1素材新人教b版必修3_第1頁(yè)
數(shù)學(xué)111算法的概念文字資料1素材新人教b版必修3_第2頁(yè)
數(shù)學(xué)111算法的概念文字資料1素材新人教b版必修3_第3頁(yè)
數(shù)學(xué)111算法的概念文字資料1素材新人教b版必修3_第4頁(yè)
數(shù)學(xué)111算法的概念文字資料1素材新人教b版必修3_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余5頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、1.1.1 算法的概念算法是指完成一個(gè)任務(wù)所需要的具體步驟和方法。也就是說(shuō)給定初始狀態(tài)或輸入數(shù)據(jù),經(jīng)過(guò)計(jì)算機(jī)程序的有限次運(yùn)算,能夠得出所要求或期望的終止?fàn)顟B(tài) 或輸出數(shù)據(jù)。算法常常含有重復(fù)的步驟和一些比較或邏輯判斷。如果一個(gè)算法有缺陷,或不 適合于某個(gè)問(wèn)題,執(zhí)行這個(gè)算法將不會(huì)解決這個(gè)問(wèn)題。不同的算法可能用不同 的時(shí)間、空間或效率來(lái)完成同樣的任務(wù)。一個(gè)算法的優(yōu)劣可以用空間復(fù)雜度與 時(shí)間復(fù)雜度來(lái)衡量。算法的歷史“算法” (algorithm)來(lái)自于9世紀(jì)波斯數(shù)學(xué)家比阿勒霍瓦里松的名字 al-Khwarizmi ,比阿勒霍瓦里松在數(shù)學(xué)上提出了算法這個(gè)概念。“算法”原 為"algorism&q

2、uot;,意思是阿拉伯?dāng)?shù)字的運(yùn)算法則,在 18世紀(jì)演變?yōu)?quot;algorithm" 第一次編寫(xiě)算法是Ada Byron于1842年為巴貝奇分析機(jī)編寫(xiě)求解解伯努利方程 的程序,因此Ada Byron被大多數(shù)人認(rèn)為是世界上第一位程序員。因?yàn)榘拓惼?(Charles Babbage)未能完成他的巴貝奇分析機(jī),這個(gè)算法未能在巴貝奇分析機(jī) 上執(zhí)行。 因?yàn)?quot;well-defined procedure"缺少數(shù)學(xué)上精確的定義,19世紀(jì)和20世紀(jì)早期的數(shù)學(xué)家、邏輯學(xué)家在定義算法上出現(xiàn)了困難。20世紀(jì)的英國(guó)數(shù)學(xué)家圖靈提出了著名的圖靈論題,并提出一種假想的計(jì)算機(jī)的抽象模型,這個(gè)

3、模 型被稱為圖靈機(jī)。圖靈機(jī)的出現(xiàn)解決了算法定義的難題,圖靈的思想對(duì)算法的 發(fā)展起到了重要的作用。算法的特征一個(gè)算法應(yīng)該具有以下五個(gè)重要的特征:有窮性:一個(gè)算法必須保證執(zhí)行有限步之后結(jié)束;確切性:算法的每一步驟必須有確切的定義;輸入:一個(gè)算法有0個(gè)或多個(gè)輸入,以刻畫(huà)運(yùn)算對(duì)象的初始情況,所謂 0個(gè)輸入是指算法本身定除了初始條件;輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果。沒(méi)有輸出的算法是毫無(wú)意義的;可行性:算法原則上能夠精確地運(yùn)行,而且人們用筆和紙做有限次運(yùn)算后 即可完成。形式化算法算法是計(jì)算機(jī)處理信息的本質(zhì),因?yàn)橛?jì)算機(jī)程序本質(zhì)上是一個(gè)算法來(lái)告訴計(jì)算 機(jī)確切的步驟來(lái)執(zhí)行一個(gè)指定的

4、任務(wù),如計(jì)算職工的薪水或打印學(xué)生的成績(jī)單。 一般地,當(dāng)算法在處理信息時(shí),會(huì)從輸入設(shè)備或數(shù)據(jù)的存儲(chǔ)地址讀取數(shù)據(jù),把 結(jié)果寫(xiě)入輸出設(shè)備或某個(gè)存儲(chǔ)地址供以后再調(diào)用。算法的實(shí)現(xiàn)算法不單單可以用計(jì)算機(jī)程序來(lái)實(shí)現(xiàn),也可以在神經(jīng)網(wǎng)絡(luò)、電路或者機(jī)械設(shè)備上實(shí)現(xiàn)。例子這是算法的一個(gè)簡(jiǎn)單的例子。我們有一串隨機(jī)數(shù)列。我們的目的是找到這個(gè)數(shù)列中最大的數(shù)。如果將數(shù)列中的每一個(gè)數(shù)字看成是一顆豆子的大小,可以將下面的算法形象地稱為“撿豆子”:首先將第一顆豆子放入口袋中。從第二顆豆子開(kāi)始檢查,直到最后一顆豆子。如果正在檢查的豆子比口袋中的還大,則將它撿起放入口袋中,同時(shí)丟掉原先口袋中的豆子。最后口袋中的豆子就是所有的豆子中最大

5、的一顆。下面是一個(gè)形式算法,用近似于編程語(yǔ)言的偽代碼表示給定:一個(gè)數(shù)列“l(fā)ist",以及數(shù)列的長(zhǎng)度"le ngth(list)"largest = list1for coun ter = 2 to len gth(list):if listco un ter > largest:largest = listco un terprint largest符號(hào)說(shuō)明:=用于表示賦值。即:右邊的值被賦予給左邊的變量。Listcounter用于表示數(shù)列中的第 counter項(xiàng)。例如:如果counter的值是5,那么Listcounter表示數(shù)列中的第5項(xiàng)。<=用于

6、表示“小于或等于”。=例子=求兩個(gè)自然數(shù)的最大公約數(shù)設(shè)兩個(gè)變量M和N 1.如果M < N,則交換M和N2.以N除以M,得到余數(shù)R 3.判斷R = 0,正確則N即為“最大公約數(shù)”, 否則下一步4.將N賦值給M,將R賦值給N,重做第一步。用“ Basic代碼”表示If M < N The n Swap M,N Do While R <> 0R = M Mod NM = NN = RLoop Print R算法設(shè)計(jì)和分析的基本方法分治法:字面上的解釋是“分而治之”,就是把一個(gè)復(fù)雜的問(wèn)題分成兩個(gè)或更 多的相同或相似的子問(wèn)題,再把子問(wèn)題分成更小的子問(wèn)題直到最后子問(wèn)題 可以簡(jiǎn)單的直

7、接求解,原問(wèn)題的解即子問(wèn)題的解的合并。這個(gè)技巧是很多高效 算法的基礎(chǔ),如排序算法(快速排序,歸并排序),傅立葉變換(快速傅立葉變 換)動(dòng)態(tài)規(guī)劃:動(dòng)態(tài)規(guī)劃在查找有很多重疊子問(wèn)題的情況的最優(yōu)解時(shí)有效。它將問(wèn) 題重新組合成子問(wèn)題。為了避免多次解決這些子問(wèn)題,它們的結(jié)果都逐漸被計(jì) 算并被保存,從簡(jiǎn)單的問(wèn)題直到整個(gè)問(wèn)題都被解決。因此,動(dòng)態(tài)規(guī)劃保存遞歸 時(shí)的結(jié)果,因而不會(huì)在解決同樣的問(wèn)題時(shí)花費(fèi)時(shí)間。貪心法(亦作饕餮法):就是一種在每一步選擇中都采取在當(dāng)前狀態(tài)下最好/優(yōu)的選擇,從而希望導(dǎo)致結(jié)果是最好/優(yōu)的算法。貪心法可以解決一些最優(yōu)性問(wèn)題, 如:求圖中的最小生成樹(shù)、求哈夫曼編碼對(duì)于其他問(wèn)題,貪心法一般不能

8、得到我們所要求的答案。一旦一個(gè)問(wèn)題可以通過(guò)貪心法來(lái)解決,那么貪心法一般是解決這個(gè)問(wèn)題的最好辦法。由于貪心法的高效性以及其所求得的答案比較 接近最優(yōu)結(jié)果,貪心法也可以用作輔助算法或者直接解決一些要求結(jié)果不特別 精確的問(wèn)題。算法的分類(lèi)基本算法 枚舉 搜索(深度優(yōu)先搜索 廣度優(yōu)先搜索 啟發(fā)式搜索 遺傳算 法)數(shù)據(jù)結(jié)構(gòu)的算法數(shù)論與代數(shù)算法計(jì)算幾何的算法 (凸包算法)圖論的算法(哈夫曼編碼樹(shù)的遍歷最短路徑算法最小生成樹(shù)算法最小樹(shù) 形圖網(wǎng)絡(luò)流算法 匹配算法)動(dòng)態(tài)規(guī)劃其他(數(shù)值分析 加密算法排序算法檢索算法隨機(jī)化算法) 還可以分成串行算法、并行算法。算法的復(fù)雜性算法的復(fù)雜性是算法效率的度量,在評(píng)價(jià)算法性能時(shí)

9、,復(fù)雜性是一個(gè)重要的 依據(jù)。算法的復(fù)雜性的程度與運(yùn)行該算法所需要的計(jì)算機(jī)資源的多少有關(guān),所 需要的資源越多,表明該算法的復(fù)雜性越高;所需要的資源越少,表明該算法 的復(fù)雜性越低。計(jì)算機(jī)的資源,最重要的是運(yùn)算所需的時(shí)間和存儲(chǔ)程序和數(shù)據(jù)所需的空間資源,算法的復(fù)雜性有時(shí)間復(fù)雜性和空間復(fù)雜性之分。算法在計(jì)算機(jī)上執(zhí)行運(yùn)算,需要一定的存儲(chǔ)空間存放描述算法的程序和算法所需的數(shù)據(jù),計(jì)算機(jī)完成運(yùn)算任務(wù)需要一定的時(shí)間。根據(jù)不同的算法寫(xiě)出 的程序放在計(jì)算機(jī)上運(yùn)算時(shí),所需要的時(shí)間和空間是不同的,算法的復(fù)雜性是 對(duì)算法運(yùn)算所需時(shí)間和空間的一種度量。不同的計(jì)算機(jī)其運(yùn)算速度相差很大, 在衡量一個(gè)算法的復(fù)雜性要注意到這一點(diǎn)。對(duì)

10、于任意給定的問(wèn)題,設(shè)計(jì)出復(fù)雜性盡可能低的算法是在設(shè)計(jì)算法時(shí)考 慮的一個(gè)重要目標(biāo)。另外,當(dāng)給定的問(wèn)題已有多種算法時(shí),選擇其中復(fù)雜性最 低者,是在選用算法時(shí)應(yīng)遵循的一個(gè)重要準(zhǔn)則。因此,算法的復(fù)雜性分析對(duì)算 法的設(shè)計(jì)或選用有著重要的指導(dǎo)意義和實(shí)用價(jià)值。在討論算法的復(fù)雜性時(shí),有兩個(gè)問(wèn)題要弄清楚:(1) 一個(gè)算法的復(fù)雜性用怎樣的一個(gè)量來(lái)表達(dá);(2) 怎樣計(jì)算一個(gè)給定算法的復(fù)雜性。找到求解一個(gè)問(wèn)題的算法后,接著就是該算法的實(shí)現(xiàn),至于是否可以找 到實(shí)現(xiàn)的方法,取決于算法的可計(jì)算性和計(jì)算的復(fù)雜性,該問(wèn)題是否存在求解 算法,能否提供算法所需要的時(shí)間資源和空間資源。篩選法求質(zhì)數(shù)質(zhì)數(shù)亦叫作素?cái)?shù),是大于 1 的自然數(shù)

11、,并且除了該數(shù)本身和 1 以外沒(méi)有其它的 數(shù)能整除它,女口 2, 3, 5, 7, 11, 13,,質(zhì)數(shù)有無(wú)窮多個(gè)。(1 )判斷 143 是否為質(zhì)數(shù)。解:Stepl : 143 2不為整數(shù);Step2:143-3不為整數(shù);Step3:143-4不為整數(shù);Step4:143-5不為整數(shù);Step5:143-6不為整數(shù);Step6:143-7不為整數(shù);Step7:143-8不為整數(shù);Step8:143-9不為整數(shù);Step9:143 10不為整數(shù);StepIO: 143- 11=13, 143 能被 11 整除;Stepll:結(jié)論:143不是質(zhì)數(shù)。(2)判斷 17 是否為質(zhì)數(shù)。解:Step1 :17 + 2不為整數(shù);Step2:17 + 3不為整數(shù);Step3:17 + 4不為整數(shù);Step4:17 + 5不為整數(shù);Step5:17 + 6不為整數(shù);Step6:17 + 7不為整數(shù);Step7:17 + 8不為整數(shù);Step8:17 + 9不為整數(shù);Step9:17 - 10不為整數(shù);Step1O: 17 11 不為整數(shù);Stepll: 17 12 不為整數(shù);Step12: 17 13 不為整數(shù);Step13: 17 14 不為整數(shù);Step14: 17 15 不為整數(shù);Step15: 17 16 不為整數(shù);Step16:結(jié)論:17是質(zhì)數(shù)。3)判斷

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論