| 9 | 1/1 | 返回列表 |
| 查看: 2651 | 回復(fù): 8 | ||||
| 【獎勵】 本帖被評價4次,作者stephenliu89增加金幣 2.35 個 | ||||
[資源]
【分享】C/C++常用算法設(shè)計(jì)方法,fortran其他語言編程也可以參考下
|
||||
|
很好的算法資源,編程時解決問題的核心就是算法!算法是程序的靈魂,一個好的算法可以讓你事半功倍!給大家分享哈~~~~~~ 我的E-mail:stephenliu1989@163.com 有問題大家交流 常用算法設(shè)計(jì)方法 要使計(jì)算機(jī)能完成人們預(yù)定的工作,首先必須為如何完成預(yù)定的工作設(shè)計(jì)一個算法,然后再根據(jù)算法編寫程序。計(jì)算機(jī)程序要對問題的每個對象和處理規(guī)則給出正確詳盡的描述,其中程序的數(shù)據(jù)結(jié)構(gòu)和變量用來描述問題的對象,程序結(jié)構(gòu)、函數(shù)和語句用來描述問題的算法。算法數(shù)據(jù)結(jié)構(gòu)是程序的兩個重要方面。 算法是問題求解過程的精確描述,一個算法由有限條可完全機(jī)械地執(zhí)行的、有確定結(jié)果的指令組成。指令正確地描述了要完成的任務(wù)和它們被執(zhí)行的順序。計(jì)算機(jī)按算法指令所描述的順序執(zhí)行算法的指令能在有限的步驟內(nèi)終止,或終止于給出問題的解,或終止于指出問題對此輸入數(shù)據(jù)無解。 通常求解一個問題可能會有多種算法可供選擇,選擇的主要標(biāo)準(zhǔn)是算法的正確性和可靠性,簡單性和易理解性。其次是算法所需要的存儲空間少和執(zhí)行更快等。 算法設(shè)計(jì)是一件非常困難的工作,經(jīng)常采用的算法設(shè)計(jì)技術(shù)主要有迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動態(tài)規(guī)劃法等等。另外,為了更簡潔的形式設(shè)計(jì)和藐視算法,在算法設(shè)計(jì)時又常常采用遞歸技術(shù),用遞歸描述算法。 一、迭代法 迭代法是用于求方程或方程組近似根的一種常用的算法設(shè)計(jì)方法。設(shè)方程為f(x)=0,用某種數(shù)學(xué)方法導(dǎo)出等價的形式x=g(x),然后按以下步驟執(zhí)行: 選一個方程的近似根,賦給變量x0; 將x0的值保存于變量x1,然后計(jì)算g(x1),并將結(jié)果存于變量x0; 當(dāng)x0與x1的差的絕對值還小于指定的精度要求時,重復(fù)步驟(2)的計(jì)算。 若方程有根,并且用上述方法計(jì)算出來的近似根序列收斂,則按上述方法求得的x0就認(rèn)為是方程的根。上述算法用C程序的形式表示為: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1); /*按特定的方程計(jì)算新的近似根*/ } while ( fabs(x0-x1)>Epsilon); printf(“方程的近似根是%f\n”,x0); } 迭代算法也常用于求方程組的根,令 X=(x0,x1,…,xn-1) 設(shè)方程組為: xi=gi(X) (I=0,1,…,n-1) 則求方程組根的迭代算法可描述如下: 【算法】迭代法求方程組的根 { for (i=0;i do { for (i=0;i for (i=0;i for (delta=0.0,i=0;i } while (delta>Epsilon); for (i=0;i printf(“\n”); } 具體使用迭代法求根時應(yīng)注意以下兩種可能發(fā)生的情況: 如果方程無解,算法求出的近似根序列就不會收斂,迭代過程會變成死循環(huán),因此在使用迭代算法前應(yīng)先考察方程是否有解,并在程序中對迭代的次數(shù)給予限制; 方程雖然有解,但迭代公式選擇不當(dāng),或迭代的初始近似根選擇不合理,也會導(dǎo)致迭代失敗。 全文下載地址http://u.115.com/file/f165c739 http://u.115.com/file/f165c739 [ Last edited by 余澤成 on 2010-8-24 at 15:24 ] |
精華網(wǎng)帖收集 | 程序 軟件 |
金蟲 (文壇精英)
|
#include #include using namespace std; double get_y(unsigned int t) { return ((t - 1)/ 12 % 2)? 0.0: sin( 2.0 * t); //Stephen's solution } int main() { int i; for ( i = 1;i<=60;i++) cout <<"i=" << i <<"y=" << get_y(i) << endl; system("pause" ;return 0; } //I think my solution just hit the target |
金蟲 (文壇精英)
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 341求調(diào)劑 +5 | 搗蛋豬豬 2026-03-11 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 材料工程專碩調(diào)劑 +4 | 204818@lcx 2026-03-17 | 4/200 |
|
|
[考研] 301求調(diào)劑 +3 | yy要上岸呀 2026-03-17 | 3/150 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +3 | share_joy 2026-03-16 | 3/150 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +4 | 梨花珞晚風(fēng) 2026-03-17 | 4/200 |
|
|
[考研] 301求調(diào)劑 +3 | A_JiXing 2026-03-16 | 3/150 |
|
|
[考研] 318求調(diào)劑 +3 | Yanyali 2026-03-15 | 3/150 |
|
|
[考博] 東華理工大學(xué)化材專業(yè)26屆碩士博士申請 +6 | zlingli 2026-03-13 | 6/300 |
|
|
[考研] 0856專碩279求調(diào)劑 +5 | 加油加油!? 2026-03-15 | 5/250 |
|
|
[考研] 中科大材料與化工319求調(diào)劑 +3 | 孟鑫材料 2026-03-14 | 3/150 |
|
|
[考研] 本科南京大學(xué)一志愿川大藥學(xué)327 +3 | 麥田耕者 2026-03-14 | 3/150 |
|
|
[考研] 復(fù)試調(diào)劑 +4 | z1z2z3879 2026-03-14 | 5/250 |
|
|
[考研] 308 085701 四六級已過求調(diào)劑 +7 | 溫喬喬喬喬 2026-03-12 | 14/700 |
|
|
[考研] 341求調(diào)劑 +3 | 番茄頭--- 2026-03-10 | 3/150 |
|
|
[考研] 一志愿西南交大,材料專碩317求調(diào)劑 +5 | lx8568 2026-03-11 | 5/250 |
|
|
[考研] 26調(diào)劑/材料科學(xué)與工程/總分295/求收留 +9 | 2026調(diào)劑俠 2026-03-12 | 9/450 |
|
|
[考研] 301求調(diào)劑 +6 | Liyouyumairs 2026-03-11 | 6/300 |
|
|
[考研] 310求調(diào)劑 +3 | 【上上簽】 2026-03-11 | 3/150 |
|
|
[考研] 工科調(diào)劑 +4 | Jiang191123! 2026-03-11 | 4/200 |
|
|
[考研] 279求調(diào)劑 +3 | 莫xiao 2026-03-10 | 4/200 |
|