• <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
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿(24)

            隨筆分類(332)

            隨筆檔案(182)

            FRIENDS

            搜索

            積分與排名

            最新隨筆

            最新評論

            閱讀排行榜

            評論排行榜

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

            Posted on 2010-08-27 19:18 MiYu 閱讀(1098) 評論(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)   方程雖然有解,但迭代公式選擇不當,或迭代的初始近似根選擇不合理,也會導致迭代失敗。
            久久A级毛片免费观看| 中文字幕精品久久久久人妻| 久久国产色AV免费看| 精品精品国产自在久久高清| 国产午夜福利精品久久| 中文精品99久久国产| 国产精品无码久久综合| 久久国产热这里只有精品| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 久久久久无码精品| 丁香色欲久久久久久综合网| 久久婷婷久久一区二区三区| 欧美日韩精品久久久久| 青青草国产成人久久91网| 国产精品久久久香蕉| 精品无码久久久久久久动漫| 伊人久久无码中文字幕| 精品人妻伦九区久久AAA片69| 色婷婷综合久久久久中文一区二区 | 久久夜色精品国产噜噜麻豆| 国产精品99久久精品爆乳| 囯产精品久久久久久久久蜜桃| 国产亚洲成人久久| 久久精品aⅴ无码中文字字幕重口| 久久精品无码专区免费| 国内精品伊人久久久久AV影院| 久久精品无码一区二区WWW| AA级片免费看视频久久| 国内精品久久国产大陆| 久久久久久国产精品免费无码 | 国产精品免费久久久久久久久| 久久精品www人人爽人人| 久久午夜羞羞影院免费观看 | 一本久久a久久精品综合夜夜 | 97精品久久天干天天天按摩| 久久国产精品无| 国产精品99久久久精品无码| 久久综合偷偷噜噜噜色| 国产精品久久久久久久人人看| 亚洲伊人久久成综合人影院| 亚洲午夜久久久|