• <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 閱讀(1103) 評論(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精品久久久久久不卡| 亚洲?V乱码久久精品蜜桃 | 嫩草影院久久99| 久久精品亚洲男人的天堂| 久久久无码精品亚洲日韩蜜臀浪潮| 99久久精品国产一区二区三区| 日韩人妻无码一区二区三区久久 | 久久综合狠狠综合久久| 色综合久久中文色婷婷| 久久久无码精品亚洲日韩蜜臀浪潮| 青青青青久久精品国产h| 一本大道久久香蕉成人网| 久久亚洲中文字幕精品一区| 国产成人无码精品久久久久免费 | 嫩草伊人久久精品少妇AV| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 26uuu久久五月天| 久久中文骚妇内射| 无夜精品久久久久久| 一级做a爰片久久毛片人呢| 久久天天躁夜夜躁狠狠| 国产精品亚洲综合专区片高清久久久| 久久久久久国产精品无码下载| 精品综合久久久久久88小说| 久久久久亚洲av无码专区| 久久精品国产久精国产果冻传媒 | 中文精品久久久久人妻| 久久久久成人精品无码| 国产精品热久久无码av| 久久精品视频91| 久久国产午夜精品一区二区三区| 97久久综合精品久久久综合| 国产高清国内精品福利99久久| 99精品久久精品| 国产成人精品久久一区二区三区| 久久久久亚洲精品无码蜜桃| 欧美牲交A欧牲交aⅴ久久 | 日韩亚洲欧美久久久www综合网 | 久久精品国产99久久无毒不卡| 亚洲色欲久久久综合网东京热|