下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、用計(jì)算機(jī)求解問(wèn)題的步驟:1、問(wèn)題分析2、數(shù)學(xué)模型建立3、算法設(shè)計(jì)與選擇4、算法指標(biāo)5、算法分析6、算法實(shí)現(xiàn)7、程序調(diào)試8、結(jié)果整理文檔編制2、算法定義:算法是指在解決問(wèn)題時(shí),按照某種機(jī)械步驟一定可以得到問(wèn)題結(jié)果的處理過(guò)程3、算法的三要素1、操作2、控制結(jié)構(gòu)3、數(shù)據(jù)結(jié)構(gòu)算法具有以下5個(gè)屬性:有窮性:一個(gè)算法必須總是在執(zhí)行有窮步之后結(jié)束,且每一步都在有窮時(shí)間內(nèi)完成。確定性:算法中每一條指令必須有確切的含義。不存在二義性。只有一個(gè)入口和一個(gè)出口可行性:一個(gè)算法是可行的就是算法描述的操作是可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來(lái)實(shí)現(xiàn)的。輸入:一個(gè)算法有零個(gè)或多個(gè)輸入,這些輸入取自于某個(gè)特定對(duì)象的集合
2、。輸出:一個(gè)算法有一個(gè)或多個(gè)輸出,這些輸出同輸入有著某些特定關(guān)系的量。算法設(shè)計(jì)的質(zhì)量指標(biāo):正確性:算法應(yīng)滿(mǎn)足具體問(wèn)題的需求;可讀性:算法應(yīng)該好讀,以有利于讀者對(duì)程序的理解;健壯性:算法應(yīng)具有容錯(cuò)處理,當(dāng)輸入為非法數(shù)據(jù)時(shí),算法應(yīng)對(duì)其作出反應(yīng),而不是產(chǎn)生莫名其妙的輸出結(jié)果。效率與存儲(chǔ)量需求:效率指的是算法執(zhí)行的時(shí)間;存儲(chǔ)量需求指算法執(zhí)行過(guò)程中所需要的最大存儲(chǔ)空間。一般這兩者與問(wèn)題的規(guī)模有關(guān)。經(jīng)常采用的算法主要有迭代法、分而治之法、貪婪法、動(dòng)態(tài)規(guī)劃法、回溯法、分支限界法迭代法 基本思想:迭代法也稱(chēng)“輾轉(zhuǎn)法”,是一種不斷用變量的舊值遞推出新值的解決問(wèn)題的方法。解題步驟:1、確定迭代模型。根據(jù)問(wèn)題描述,
3、分析得出前一個(gè)(或幾個(gè))值與其下一個(gè)值的迭代關(guān)系數(shù)學(xué)模型。2、建立迭代關(guān)系式。迭代關(guān)系式就是一個(gè)直接或間接地不斷由舊值遞推出新值的表達(dá)式,存儲(chǔ)新值的變量稱(chēng)為迭代變量3、對(duì)迭代過(guò)程進(jìn)行控制。確定在什么時(shí)候結(jié)束迭代過(guò)程,這是編寫(xiě)迭代程序必須考慮的問(wèn)題。不能讓迭代過(guò)程無(wú)休止地重復(fù)執(zhí)行下去。迭代過(guò)程的控制通常可分為兩種情況:一種是所需的迭代次數(shù)是個(gè)確定的值,可以計(jì)算出來(lái);另一種是所需的迭代次數(shù)無(wú)法確定。對(duì)于前一種情況,可以構(gòu)建一個(gè)固定次數(shù)的循環(huán)來(lái)實(shí)現(xiàn)對(duì)迭代過(guò)程的控制;對(duì)于后一種情況,需要進(jìn)一步分析出用來(lái)結(jié)束迭代過(guò)程的條件。編寫(xiě)計(jì)算斐波那契(Fibonacci)數(shù)列的第n項(xiàng)函數(shù)fib(n)。寫(xiě)成遞歸函數(shù)
4、有:int fib(int n) if (n=0) return 0;if (n=1) return 1;if (n1) return fib(n-1)+fib(n-2);一個(gè)飼養(yǎng)場(chǎng)引進(jìn)一只剛出生的新品種兔子,這種兔子從出生的下一個(gè)月開(kāi)始,每月新生一只兔子,新生的兔子也如此繁殖。如果所有的兔子都不死去,問(wèn)到第 12 個(gè)月時(shí),該飼養(yǎng)場(chǎng)共有兔子多少只?Main()int I,a=1,b=1;Print(a,b);For(i=1;i=10;i+)C=a+b;Print(c);A=b;B=c;分而治之法1、基本思想 將一個(gè)難以直接解決的大問(wèn)題,分割成一些規(guī)模較小的相同問(wèn)題,以便各個(gè)擊破,分而治之。 分
5、治法所能解決的問(wèn)題一般具有以下幾個(gè)特征: (1)該問(wèn)題的規(guī)??s小到一定的程度就可以容易地解決; (2)該問(wèn)題可以分解為若干個(gè)規(guī)模較小的相同問(wèn)題,即該問(wèn)題具有最優(yōu)子結(jié)構(gòu)性質(zhì); (3)利用該問(wèn)題分解出的子問(wèn)題的解可以合并為該問(wèn)題的解; (4)該問(wèn)題所分解出的各個(gè)子問(wèn)題是相互獨(dú)立的,即子問(wèn)題之間不包含公共的子子問(wèn)題。 3、分治法的基本步驟 (1)分解:將原問(wèn)題分解為若干個(gè)規(guī)模較小,相互獨(dú)立,與原問(wèn)題形式相同的子問(wèn)題; (2)解決:若子問(wèn)題規(guī)模較小而容易被解決則直接解,否則遞歸地解各個(gè)子問(wèn)題; (3)合并:將各個(gè)子問(wèn)題的解合并為原問(wèn)題的解。貪婪法基本思想:以逐步的局部最優(yōu),達(dá)到最終的全局最優(yōu)。無(wú)后效性
6、【問(wèn)題】 背包問(wèn)題 問(wèn)題描述:有不同價(jià)值、不同重量的物品n件,求從這n件物品中選取一部分物品的選擇方案,使選中物品的總重量不超過(guò)指定的限制重量,但選中物品的價(jià)值之和最大。 #includevoid main()int m,n,i,j,w50,p50,pl50,b50,s=0,max;printf(輸入背包容量m,物品種類(lèi)n :);scanf(%d %d,&m,&n);for(i=1;i=n;i=i+1)printf(輸入物品的重量W和價(jià)值P :);scanf(%d %d,&wi,&pi);pli=pi;s=s+wi;if(s=m)printf(whole choosen);/return;fo
7、r(i=1;i=n;i=i+1)max=1;for(j=2;jplmax/wmax)max=j;plmax=0;bi=max;for(i=1,s=0;sm & i=n;i=i+1)s=s+wbi;if(s!=m)wbi-1=m-wbi-1;for(j=1;j=i-1;j=j+1)printf(choose weight %dn,wbj);動(dòng)態(tài)規(guī)劃基本思想:把求解的問(wèn)題分成許多階段或多個(gè)子問(wèn)題,然后按順序求解各個(gè)子問(wèn)題。前一個(gè)子問(wèn)題的解為后一個(gè)子問(wèn)題的求解提供了有用的信息。在求解任何一子問(wèn)題時(shí),列出各種可能的局部解,通過(guò)決策保留那些有可能達(dá)到最優(yōu)的局部解,丟棄其他局部解,依次解決各子問(wèn)題,最后一
8、個(gè)子問(wèn)題就是問(wèn)題的解。基本步驟(1)劃分階段:按照問(wèn)題的時(shí)間或空間特征,把問(wèn)題分為若干個(gè)階段。注意這若干個(gè)階段一定要是有序的或者是可排序的(即無(wú)后向性),否則問(wèn)題就無(wú)法用動(dòng)態(tài)規(guī)劃求解。 (2)選擇狀態(tài):將問(wèn)題發(fā)展到各個(gè)階段時(shí)所處于的各種客觀(guān)情況用不同的狀態(tài)表示出來(lái)。當(dāng)然,狀態(tài)的選擇要滿(mǎn)足無(wú)后效性。 (3)確定決策并寫(xiě)出狀態(tài)轉(zhuǎn)移方程:之所以把這兩步放在一起,是因?yàn)闆Q策和狀態(tài)轉(zhuǎn)移有著天然的聯(lián)系,狀態(tài)轉(zhuǎn)移就是根據(jù)上一階段的狀態(tài)和決策來(lái)導(dǎo)出本階段的狀態(tài)。所以,如果我們確定了決策,狀態(tài)轉(zhuǎn)移方程也就寫(xiě)出來(lái)了。但事實(shí)上,我們常常是反過(guò)來(lái)做,根據(jù)相鄰兩段的各狀態(tài)之間的關(guān)系來(lái)確定決策。 回溯法基本思想:按照深度優(yōu)先策略,從根結(jié)點(diǎn)出發(fā)搜索解空間。算法搜索至解空間的任一結(jié)點(diǎn)時(shí)總是先判斷該結(jié)點(diǎn)是否問(wèn)題的約束條件。如果滿(mǎn)足進(jìn)入該子樹(shù),繼續(xù)按深度優(yōu)先的策略搜索。否則,不去搜索以該結(jié)點(diǎn)為根的子樹(shù),而是逐層向其祖先結(jié)點(diǎn)回溯。其實(shí)回溯法就是對(duì)隱式圖的深度優(yōu)先搜索算法基本步驟:1、 確定問(wèn)題的解空間:應(yīng)用回溯法時(shí),首先應(yīng)明確定義問(wèn)題的解的空間。問(wèn)題的解空間應(yīng)至少包含問(wèn)題的一個(gè)解。2、 確定結(jié)點(diǎn)的擴(kuò)展規(guī)則3、 搜索解空間:從開(kāi)始結(jié)點(diǎn)出發(fā),以深度優(yōu)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人工程車(chē)租賃與環(huán)保措施合同2篇
- 2025版石材荒料產(chǎn)業(yè)鏈上下游企業(yè)合作合同3篇
- 二零二五年度高校協(xié)議教授人才培養(yǎng)合同3篇
- 二零二五版衛(wèi)浴建材行業(yè)質(zhì)量檢測(cè)服務(wù)合同2篇
- 二零二五年度外資企業(yè)高管廉潔自律承諾書(shū)規(guī)范樣本3篇
- 的板材購(gòu)銷(xiāo)合同范本
- 二零二五個(gè)人虛擬貨幣交易合同規(guī)范范本3篇
- 隱藏?zé)艄獾蹴斞b修施工方案
- 房地產(chǎn)買(mǎi)賣(mài)交易合同范文
- 公司差旅費(fèi)報(bào)銷(xiāo)單
- 梁山伯與祝英臺(tái)小提琴譜樂(lè)譜
- 我國(guó)全科醫(yī)生培訓(xùn)模式
- 2021年上海市楊浦區(qū)初三一模語(yǔ)文試卷及參考答案(精校word打印版)
- 八年級(jí)上冊(cè)英語(yǔ)完形填空、閱讀理解100題含參考答案
- 八年級(jí)物理下冊(cè)功率課件
- DBJ51-T 188-2022 預(yù)拌流態(tài)固化土工程應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 《長(zhǎng)津湖》電影賞析PPT
- 銷(xiāo)售禮儀培訓(xùn)PPT
- 滑雪運(yùn)動(dòng)介紹
- 最新滋補(bǔ)類(lèi)中藥的用藥保健主題講座課件
評(píng)論
0/150
提交評(píng)論