<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    統計

    留言簿(1)

    DB

    Others

    QA

    Tech Website

    閱讀排行榜

    評論排行榜

    【編程珠現】-算法設計技術

            【編程珠璣】第一部分的基礎知識已經看完,比較有感觸的有以下幾點:
                1)、數據決定程序結構:對不同的程序,選用最合適的數據結構,必要是可以借助數據庫來解決問題
                2)、學會寫偽代碼:偽代碼是思想的結晶,拋開算法的細節,抓住算法的本質思想。

              第二部分是關于程序性能的講解。在算法設計技術章節講到了以下幾個重要的技術:
                1)、保存狀態,避免重要計算:這也是動態規劃所采用的思想,別浪費中間結果,它們很寶貴
                2)、將信息預處理至數據結構中:保存中間結果的一種方法
                3)、分治算法:算法課上第一個學習的算法,如:二分查找、Strassen矩陣乘法等等。核心思想在于把問題分解成簡單的子問題,然后對子
                            問題進行合并,經常和遞歸一起使用
                4)、掃描算法
                5)、累積:通常用于求前i個值的和
                6)、下界:許多問題要證明它的下界是多少


                下面是習題14的解答思想:
                 描述:給定整數m、n和整數(實)數向量x[n],請找到出現使總和x[i]+……+x[i+m]最接近0的整數i( 0<=i<n-m)
                 解決思路:從i+1開始的長度為m+1的子向量等當前子向量減去x[i-1],再加上x[i+m]

                  
    int alg(int * x, int m , int n){
        
    if0 == n )
            
    return 0;

        
    int i ;
        
    int start = 0;
        
    int subVal = 0;
        
    int sum = 0;

        
    for( i = 0; i <= m; i++){
            sum 
    += x[i];
        }

        subVal 
    = abs(sum);
        
        
    for( i = 1; i < n-m; i++){
            sum 
    -= x[i-1];
            sum 
    += x[i+m];
            cout 
    << "sum " << sum <<endl;
            
    if(abs(sum) < subVal){  //如果subVal比當前sum絕對值大
                start = i;
                subVal 
    = abs(sum);
                
            }

        }

        
        cout 
    << "sum: " <<  sum << endl;
        cout 
    << "subVal: " << subVal << endl;
        
        
    return start;
    }

             原題中的向量為實數,核心算法還是一樣的,只是浮點數比較的時候要注意下
             有興趣的朋友歡迎一起討論 :)

    posted on 2011-01-14 11:20 XXXXXX 閱讀(274) 評論(0)  編輯  收藏 所屬分類: Algorithm

    主站蜘蛛池模板: 亚洲五月综合网色九月色| 亚洲bt加勒比一区二区| 免费能直接在线观看黄的视频 | 精品久久久久久久久免费影院| 亚洲午夜久久久影院| 亚洲一区二区三区久久| 一级片在线免费看| 91在线视频免费看| 亚洲人成网国产最新在线| 全免费一级毛片在线播放| 偷自拍亚洲视频在线观看| 亚洲精品无码久久不卡| 久青草视频97国内免费影视| 精品免费久久久久久成人影院| 亚洲av成人片在线观看| 国产成人精品免费视| 亚洲熟女www一区二区三区| 国产国产人免费人成免费视频 | 破了亲妺妺的处免费视频国产 | 亚洲精品成人网站在线播放| 免费a级毛片高清视频不卡 | 亚洲国产AV一区二区三区四区| 四虎影库久免费视频| 91嫩草亚洲精品| 久久aa毛片免费播放嗯啊| 亚洲最大在线观看| 日本一道一区二区免费看| 亚洲一区免费在线观看| 国产18禁黄网站免费观看| 国产一级一毛免费黄片| 亚洲精品在线电影| 免费A级毛片无码A∨男男| a在线视频免费观看| 亚洲中文字幕一二三四区| 在线亚洲精品福利网址导航| 99re这里有免费视频精品| 亚洲AV无码乱码国产麻豆穿越| 24小时日本在线www免费的| 一级做a毛片免费视频| 亚洲三级在线播放| 中文字幕精品亚洲无线码一区|