計(jì)算機(jī)編程常用算法

ID:10208594

大小:223.00 KB

頁(yè)數(shù):55頁(yè)

時(shí)間:2018-06-12

計(jì)算機(jī)編程常用算法_第1頁(yè)
計(jì)算機(jī)編程常用算法_第2頁(yè)
計(jì)算機(jī)編程常用算法_第3頁(yè)
計(jì)算機(jī)編程常用算法_第4頁(yè)
計(jì)算機(jī)編程常用算法_第5頁(yè)
資源描述:

《計(jì)算機(jī)編程常用算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、常用算法要使計(jì)算機(jī)能完成人們預(yù)定的工作,首先必須為如何完成預(yù)定的工作設(shè)計(jì)一個(gè)算法,然后再根據(jù)算法編寫(xiě)程序。計(jì)算機(jī)程序要對(duì)問(wèn)題的每個(gè)對(duì)象和處理規(guī)則給出正確詳盡的描述,其中程序的數(shù)據(jù)結(jié)構(gòu)和變量用來(lái)描述問(wèn)題的對(duì)象,程序結(jié)構(gòu)、函數(shù)和語(yǔ)句用來(lái)描述問(wèn)題的算法。算法數(shù)據(jù)結(jié)構(gòu)是程序的兩個(gè)重要方面。算法是問(wèn)題求解過(guò)程的精確描述,一個(gè)算法由有限條可完全機(jī)械地執(zhí)行的、有確定結(jié)果的指令組成。指令正確地描述了要完成的任務(wù)和它們被執(zhí)行的順序。計(jì)算機(jī)按算法指令所描述的順序執(zhí)行算法的指令能在有限的步驟內(nèi)終止,或終止于給出問(wèn)題的解,或終止于指出問(wèn)題對(duì)此輸入數(shù)據(jù)

2、無(wú)解。通常求解一個(gè)問(wèn)題可能會(huì)有多種算法可供選擇,選擇的主要標(biāo)準(zhǔn)是算法的正確性和可靠性,簡(jiǎn)單性和易理解性。其次是算法所需要的存儲(chǔ)空間少和執(zhí)行更快等。算法設(shè)計(jì)是一件非常困難的工作,經(jīng)常采用的算法設(shè)計(jì)技術(shù)主要有迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動(dòng)態(tài)規(guī)劃法等等。另外,為了更簡(jiǎn)潔的形式設(shè)計(jì)和藐視算法,在算法設(shè)計(jì)時(shí)又常常采用遞歸技術(shù),用遞歸描述算法。一、迭代法迭代法是用于求方程或方程組近似根的一種常用的算法設(shè)計(jì)方法。設(shè)方程為f(x)=0,用某種數(shù)學(xué)方法導(dǎo)出等價(jià)的形式x=g(x),然后按以下步驟執(zhí)行:(1)選一個(gè)方程的近似

3、根,賦給變量x0;(2)將x0的值保存于變量x1,然后計(jì)算g(x1),并將結(jié)果存于變量x0;(3)當(dāng)x0與x1的差的絕對(duì)值還小于指定的精度要求時(shí),重復(fù)步驟(2)的計(jì)算。若方程有根,并且用上述方法計(jì)算出來(lái)的近似根序列收斂,則按上述方法求得的x0就認(rèn)為是方程的根。上述算法用C程序的形式表示為:【算法】迭代法求方程的根{x0=初始近似根;do{x1=x0;x0=g(x1);/*按特定的方程計(jì)算新的近似根*/}while(fabs(x0-x1)>Epsilon);printf(“方程的近似根是%f”,x0);}迭代算法也常用于求方

4、程組的根,令X=(x0,x1,…,xn-1)設(shè)方程組為:xi=gi(X)(I=0,1,…,n-1)則求方程組根的迭代算法可描述如下:【算法】迭代法求方程組的根{for(i=0;idelta)delta=fabs(y[i]-x[i]);}while(delta>Epsilon);for(i=0;

5、i

6、、C、D、E、F這六個(gè)變量排成如圖所示的三角形,這六個(gè)變量分別取[1,6]上的整數(shù),且均不相同。求使三角形三條邊上的變量之和相等的全部解。如圖就是一個(gè)解。程序引入變量a、b、c、d、e、f,并讓它們分別順序取1至6的證書(shū),在它們互不相同的條件下,測(cè)試由它們排成的如圖所示的三角形三條邊上的變量之和是否相等,如相等即為一種滿足要求的排列,把它們輸出。當(dāng)這些變量取盡所有的組合后,程序就可得到全部可能的解。細(xì)節(jié)見(jiàn)下面的程序?!境绦?】#includevoidmain(){inta,b,c,d,e,f;for(a=1;

7、a<=6;a++)for(b=1;b<=6;b++){if(b==a)continue;for(c=1;c<=6;c++){if(c==a)

8、

9、(c==b)continue;for(d=1;d<=6;d++){if(d==a)

10、

11、(d==b)

12、

13、(d==c)continue;for(e=1;e<=6;e++){if(e==a)

14、

15、(e==b)

16、

17、(e==c)

18、

19、(e==d)continue;f=21-(a+b+c+d+e);if((a+b+c==c+d+e))&&(a+b+c==e+f+a)){printf(“%6d,a);p

20、rintf(“%4d%4d”,b,f);printf(“%2d%4d%4d”,c,d,e);scanf(“%*c”);}}}}}}按窮舉法編寫(xiě)的程序通常不能適應(yīng)變化的情況。如問(wèn)題改成有9個(gè)變量排成三角形,每條邊有4個(gè)變量的情況,程序的循環(huán)重?cái)?shù)就要相應(yīng)改變。對(duì)一組數(shù)窮盡所有排列

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。
关闭