• <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)   方程雖然有解,但迭代公式選擇不當,或迭代的初始近似根選擇不合理,也會導致迭代失敗。
            精品久久久久成人码免费动漫 | 蜜桃麻豆www久久国产精品| 99久久精品午夜一区二区| 精品久久久久久久久午夜福利| 日韩精品无码久久久久久| 精品999久久久久久中文字幕| 国产精品久久久久一区二区三区| 内射无码专区久久亚洲| 人妻无码αv中文字幕久久 | 国产精品无码久久四虎| 亚洲国产香蕉人人爽成AV片久久| 亚洲国产精品成人久久| 久久久久久久久久久免费精品| 久久99热这里只有精品国产| 91精品国产综合久久婷婷| 久久久久久毛片免费看| 99久久99这里只有免费费精品| 国产精品美女久久久免费| 亚洲国产欧美国产综合久久| 久久精品视屏| 久久青草国产手机看片福利盒子| 国产精品久久久久久久久久影院| 成人精品一区二区久久| 久久精品国产亚洲AV高清热| 亚洲精品国精品久久99热| 久久久久久国产精品美女| 91性高湖久久久久| 91亚洲国产成人久久精品网址| 亚洲AV日韩AV天堂久久| 久久婷婷色综合一区二区| 亚洲精品美女久久久久99小说| 成人精品一区二区久久久| 亚洲一本综合久久| 国产成人久久精品区一区二区| 午夜久久久久久禁播电影| 欧美黑人又粗又大久久久| 久久人人爽人人人人爽AV| 精品人妻伦九区久久AAA片69| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久国产高清字幕中文| 久久w5ww成w人免费|