• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ACM___________________________

            ______________白白の屋
            posts - 182, comments - 102, trackbacks - 0, articles - 0
            <2010年8月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            2930311234

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

            常用算法講解---迭代法

            Posted on 2010-08-27 19:18 MiYu 閱讀(1099) 評論(0)  編輯 收藏 引用 所屬分類: ACM ( 枚舉 )ACM_資料

            MiYu原創, 轉帖請注明 : 轉載自 ______________白白の屋    

             

             代碼

            要使計算機能完成人們預定的工作,首先必須為如何完成預定的工作設計一個算法,然后再根據算法編寫程序。計算機程序要對問題的每個對象和處理規則給出正確詳盡的描述,其中程序的數據結構和變量用來描述問題的對象,程序結構、函數和語句用來描述問題的算法。算法數據結構是程序的兩個重要方面。
            算法是問題求解過程的精確描述,一個算法由有限條可完全機械地執行的、有確定結果的指令組成。指令正確地描述了要完成的任務和它們被執行的順序。計算機按算法指令所描述的順序執行算法的指令能在有限的步驟內終止,或終止于給出問題的解,或終止于指出問題對此輸入數據無解。
            通常求解一個問題可能會有多種算法可供選擇,選擇的主要標準是算法的正確性和可靠性,簡單性和易理解性。其次是算法所需要的存儲空間少和執行更快等。
            算法設計是一件非常困難的工作,經常采用的算法設計技術主要有迭代法、窮舉搜索法、遞推法、貪婪法、回溯法、分治法、動態規劃法等等。另外,為了更簡潔的形式設計和藐視算法,在算法設計時又常常采用遞歸技術,用遞歸描述算法。
            一、迭代法 
                 迭代法是用于求方程或方程組近似根的一種常用的算法設計方法。設方程為f(x)
            =0,用某種數學方法導出等價的形式x=g(x),然后按以下步驟執行:
            1)   選一個方程的近似根,賦給變量x0;
            2)   將x0的值保存于變量x1,然后計算g(x1),并將結果存于變量x0;
            3)   當x0與x1的差的絕對值還小于指定的精度要求時,重復步驟(2)的計算。
            若方程有根,并且用上述方法計算出來的近似根序列收斂,則按上述方法求得的x0就認為是方程的根。上述算法用C程序的形式表示為:
            【算法】迭代法求方程的根
            {    x0
            =初始近似根;
               
            do {
                  x1
            =x0;
                  x0
            =g(x1);   /*按特定的方程計算新的近似根*/
                  } 
            while ( fabs(x0-x1)>Epsilon);
               printf(“方程的近似根是
            %f\n”,x0);
            }
            迭代算法也常用于求方程組的根,令
                  X
            =(x0,x1,…,xn-1
            設方程組為:
                  xi
            =gi(X)      (I=01,…,n-1)
            則求方程組根的迭代算法可描述如下:
            【算法】迭代法求方程組的根
               {    
            for (i=0;i<n;i++)
                     x[i]
            =初始近似根;
                  
            do {
                     
            for (i=0;i<n;i++)
                        y[i]
            =x[i];
                     
            for (i=0;i<n;i++)
                        x[i]
            =gi(X);
                     
            for (delta=0.0,i=0;i<n;i++)
                        
            if (fabs(y[i]-x[i])>delta)      delta=fabs(y[i]-x[i]);
                     } 
            while (delta>Epsilon);
                  
            for (i=0;i<n;i++)
                     printf(“變量x[
            %d]的近似根是 %f”,I,x[i]);
                  printf(“\n”);
               }
               具體使用迭代法求根時應注意以下兩種可能發生的情況:
            1)   如果方程無解,算法求出的近似根序列就不會收斂,迭代過程會變成死循環,因此在使用迭代算法前應先考察方程是否有解,并在程序中對迭代的次數給予限制;
            2)   方程雖然有解,但迭代公式選擇不當,或迭代的初始近似根選擇不合理,也會導致迭代失敗。
            国产成人精品久久亚洲| 久久99精品国产自在现线小黄鸭 | 久久精品国产亚洲网站| 久久综合狠狠综合久久综合88 | 99久久国产综合精品女同图片| 久久人人爽人人爽人人片AV不| 国产婷婷成人久久Av免费高清| 亚洲午夜久久影院| 国产成人久久精品一区二区三区 | 9999国产精品欧美久久久久久| 久久久久久A亚洲欧洲AV冫| 浪潮AV色综合久久天堂| 久久久青草青青国产亚洲免观| 人妻无码中文久久久久专区| 免费精品久久久久久中文字幕| 97久久精品国产精品青草| 亚洲欧美成人久久综合中文网| 久久久久四虎国产精品| 无码人妻少妇久久中文字幕蜜桃 | 国产成人久久精品一区二区三区 | 国产毛片欧美毛片久久久 | 久久无码AV一区二区三区| 999久久久国产精品| 99久久久精品免费观看国产| 99久久精品免费看国产一区二区三区 | 久久综合欧美成人| 久久精品无码专区免费青青| 亚洲中文久久精品无码ww16| 久久无码AV一区二区三区| 亚洲欧美国产日韩综合久久| 久久精品国产第一区二区| 国产无套内射久久久国产| 99精品久久久久久久婷婷| 狠狠狠色丁香婷婷综合久久俺| 99久久国产热无码精品免费| 亚洲国产欧洲综合997久久| 性高湖久久久久久久久| 午夜久久久久久禁播电影| 久久精品aⅴ无码中文字字幕重口| 伊人久久综合成人网| 亚洲精品tv久久久久久久久|