• <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)   方程雖然有解,但迭代公式選擇不當,或迭代的初始近似根選擇不合理,也會導致迭代失敗。
            久久国产精品国语对白| 思思久久好好热精品国产| 婷婷久久香蕉五月综合加勒比| 久久久无码精品亚洲日韩京东传媒 | 久久久久久久综合日本亚洲| 久久国产香蕉一区精品| 久久综合久久自在自线精品自| 91久久精品电影| 激情伊人五月天久久综合| 久久五月精品中文字幕| 人人狠狠综合久久亚洲88| 久久成人永久免费播放| 无码国产69精品久久久久网站| 亚洲精品国产成人99久久| 久久国产劲爆AV内射—百度| 91精品国产高清久久久久久91| 久久精品人人做人人爽电影| 国产精品内射久久久久欢欢| 国产亚洲欧美成人久久片| 国产精品对白刺激久久久| 久久精品无码一区二区三区日韩| 无遮挡粉嫩小泬久久久久久久 | 久久免费精品视频| 久久狠狠爱亚洲综合影院| 理论片午午伦夜理片久久| 久久成人影院精品777| 一本久久a久久精品vr综合| 亚洲国产精品狼友中文久久久| 久久综合九色欧美综合狠狠| 蜜桃麻豆www久久| 99国产精品久久| 精品久久久久久久久久久久久久久| AV无码久久久久不卡蜜桃| 亚洲成av人片不卡无码久久| 日产久久强奸免费的看| 国产精品免费久久| 国产精品激情综合久久| 国产福利电影一区二区三区,免费久久久久久久精 | 久久精品www人人爽人人| 99久久中文字幕| 久久九九全国免费|