锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产精品无码HDAV ,99久久国产亚洲高清观看2024 ,久久人人爽人人爽AV片http://www.shnenglu.com/hex108/category/17229.html鎳傚巻鍙?==> 鐭ユ湭鏉? zh-cnThu, 08 Sep 2011 07:58:50 GMTThu, 08 Sep 2011 07:58:50 GMT60[鎵懼伐浣淽綆楁硶灝忕粨http://www.shnenglu.com/hex108/archive/2011/08/24/154248.htmlhex108hex108Wed, 24 Aug 2011 13:39:00 GMThttp://www.shnenglu.com/hex108/archive/2011/08/24/154248.htmlhttp://www.shnenglu.com/hex108/comments/154248.htmlhttp://www.shnenglu.com/hex108/archive/2011/08/24/154248.html#Feedback0http://www.shnenglu.com/hex108/comments/commentRss/154248.htmlhttp://www.shnenglu.com/hex108/services/trackbacks/154248.html涓轟竴涓棶棰樺鎵劇畻娉曠殑榪囩▼錛屾湁鐐瑰儚涓涓┓涓捐繃紼嬶細(xì)鎼滅儲宸叉湁鐭ヨ瘑錛屽茍榪涜閲嶇粍鐨勮繃紼嬨傛墍浠ユ妸甯哥敤鐨勭畻娉曡浣忥紝鐒跺悗涓涓竴涓瘯鐢紝鐪嬫槸鍚﹀彲琛岋紝涓嶅け涓轟竴涓ソ鏂規(guī)硶銆?div>
濡傛灉榪欎釜鏂規(guī)硶涓嶈鍛紵涓嶅Θ鍐欏嚭鏈鐩磋鐨勮В絳旓紙鍗崇敤“铔姏娉?#8221;錛夛紝鐒跺悗浠庝腑鐪嬪嚭鍙互浼樺寲鐨勫湴鏂瑰湪鍝噷錛岃繘鑰岃繘琛屼紭鍖栥?/div>


濡備綍紜畾璇ラ棶棰樺彲浠ョ敤鍝被鏂規(guī)硶鏉ヨВ絳斿憿錛熼鍏堬紝闇瑕佸榪欎簺甯哥敤鐨勭畻娉曠殑鍩烘湰鎬濇兂闈炲父鐔熸?zhèn)夈?br />甯哥敤鐨勭畻娉曞彲浠ュ垎涓轟互涓嬪嚑綾伙細(xì)
1. Divide & conquer
   鍒嗘不綆楁硶錛氬皢闂鍒嗕負(fù)涓や釜1錛?瑙勬ā澶у皬鐨勫瓙闂錛岀劧鍚庤В鍐熾傚merge sort

2. Decrease & conquer
   鍑忔不娉?: 灝嗛棶棰樿妯′粠 n 鍙樹負(fù) n - 1錛岀劧鍚庡湪瑙勬ān-1鐨勫熀紜涓婅В鍐蟲闂銆?濡俰nsertion sort  
   榪欎笉鏄掑綊涔堬紵

3. Transform & conquer
   鍙樻不娉?錛氬彉鎹㈢粨鏋勩傚heap sort   

4. Brute force
   铔姏綆楁硶錛屽彲浠ヨ鏄繀鏉鎶鍚э紝澶ч儴鍒嗛棶棰橀兘鍙互鐢ㄦ鏂規(guī)硶瑙e喅銆?濡俿election sort
   浣跨敤铔姏娉曠殑浼樼偣鏄畝鍗曚笉瀹規(guī)槗鍑洪敊錛岀己鐐規(guī)槸澶嶆潅搴︽湁鏃跺緢楂橈紝鎵浠ユ垜浠彲浠ュ湪絀蜂婦娉曠殑鍩虹涓婅繘琛屾敼榪涳紝榪欐牱鑳借揪鍒頒竴涓懼弻寰楃殑鏁堟灉銆?br />    Backtracking(1. 綆楁硶閲岄潰鏋佸ぇ涓閮ㄥ垎鍐呭鏄浣曟湁鏁堝湴榪涜鎼滅儲錛岃繖閲岀殑"鏈夋晥"鍙互鍒嗕負(fù)錛氶伩鍏嶄笉蹇呰鐨勮綆楋紙濡侫*瀵昏礬浠ュ強(qiáng)鎵鏈夌殑鍚彂寮忓壀鏋濓級錛岀紦瀛橀噸澶嶈綆楋紙濡傛墍鏈夌殑鍔?鎬佽鍒掞級銆?br />2.鏈川涓婏紝緇冧範(fàn)騫朵笉浜х敓鏂拌兘鍔涖傜劧鑰岀粌涔?fàn)鏈閲嶈鐨勪竴涓綔鐢ㄥ氨鏄皢澶栨樉璁板繂杞寲涓?a title="鍐呴殣璁板繂" >鍐呴殣璁板繂銆傜敤澶х櫧璇濇潵璇村氨鏄皢騫蟲椂闇瑕佺敤鑴戝瓙鍘繪兂錛堝弬涓庯級鐨勪笢瑗胯漿鍖栦負(fù)鍐呭湪鐨勪範(fàn)鎯傝濡傛垜浠竴寮濮嬪楠戣嚜琛岃濺鐨勬椂鍊欓渶瑕佷笉鏂彁閱掕嚜宸辨敞鎰忓鉤琛★紝浣嗛殢鐫涓嶆柇鐨勮仈緋伙紝榪欑鎶鑳藉氨鍐呭寲鎴愪簡鎵璋撶殑

hex108 2011-08-24 21:39 鍙戣〃璇勮
]]>
[鎵懼伐浣淽鍔ㄦ佽鍒掍笌璐績綆楁硶http://www.shnenglu.com/hex108/archive/2011/08/24/154243.htmlhex108hex108Wed, 24 Aug 2011 12:51:00 GMThttp://www.shnenglu.com/hex108/archive/2011/08/24/154243.htmlhttp://www.shnenglu.com/hex108/comments/154243.htmlhttp://www.shnenglu.com/hex108/archive/2011/08/24/154243.html#Feedback0http://www.shnenglu.com/hex108/comments/commentRss/154243.htmlhttp://www.shnenglu.com/hex108/services/trackbacks/154243.html1.       娉ㄦ剰錛氬鏋滃垝鍒嗙殑瀛愰棶棰樹箣闂村瓨鍦ㄤ緷璧栵紝閭d箞璇ラ棶棰樺氨涓嶉傚悎鐢ㄥ姩鎬佽鍒掕В鍐熾傦紙瑙丆LRS 15.3 subtlties灝忚妭錛?br />
    4) reconsturcting an optimal solution     
      鐢ㄥ姩鎬佽鍒掓湁涓棶棰樺氨鏄湪鏈鍚庡緱鍒版渶浼樿В鏃朵笉鑳界煡閬撻夋嫨鐨勮繃紼嬶紝鏈夊涓嬩袱縐嶆柟娉曞彲浠ヨВ鍐籌細(xì)
      a. 鍙互鏍規(guī)嵁鎴戜滑瀛樹笅鏉ョ殑淇℃伅鎺ㄥ鍑哄墠涓姝ョ殑閫夋嫨鏄粈涔堬紝濡傦細(xì)diff.java
      b. 璁頒笅閫夋嫨銆?br />        濡傛灉閫夋嫨杈冨皯鍙互閲囩敤鏂規(guī)硶a錛屽惁鍒欓夋嫨鏂規(guī)硶2姣旇緝濂姐傝繖鏄竴涓椂絀烘潈琛¢棶棰樸?/div>
    5錛夎繍鐢ㄥ姩鎬佽鍒掓湁鍑犱釜闇瑕佹敞鎰忕殑鍦版柟錛?br />        a.  We must ensure that when we search for the correct place to spilt the product, we have considered all possible places so that we are sure of         
            having examined the optimal one.
       b.  The subproblems are independent.
       c.  涓嶈褰㈡垚鍥板畾鎬濈淮: 涓鎯沖埌鍔ㄦ佽鍒掞紝椹笂鑱旀兂鍒癓CS錛岀劧鍚庤寰楀姩鎬佽鍒掔殑琛ㄧ粨鏋勫氨鏄竴涓簩緇存暟緇?/div>     6)鎬濊?br />        瀛愰棶棰樻湁鏈浼樿В錛岄偅涔堣闂寰楀埌鐨勪竴瀹氭槸鏈浼樿В鍚楋紵 濡傛灉涓嶆槸錛岄偅涔堜粈涔堟儏鍐典笅鏄叏灞鏈浼樿В錛屼粈涔堟儏鍐墊槸灞閮ㄦ渶浼樿В?
        浠ワ紲緙栫▼涔嬬編錛炰笂鐨勪竴涓緥瀛愪婦渚嬭鏄庡涓?:(鏈夋椂闂村啀琛ヤ笂)

2. 璐績綆楁硶  
      A greedy algorithm always makes the choice that looks best at the moment. That is , it makes a locally optimal choce in the hope that chis choce will lead to a globally optimal solution.

     璐績娉曡兘瑙e喅鐨勯棶棰橈紝鍔ㄦ佽鍒掑熀鏈兘鑳借В鍐熾傦紙CLRS 16.2 Nevertheless, beneath every greedy algorithm, ther is almost always a more cumbersome dynamic-progrmming solution錛夈?/div>
     浣嗘槸錛欶or many optimization problems, using dynamic programming to determine the best choices is overkill; Simpler, more effiiect algorithms will do. (eg: greedy algorithm)

     1錛夐傚悎鐢ㄨ椽蹇冩硶瑙e喅鐨勯棶棰?
         蹇呴』瑕佹湁Greedy-choice property : a globally optiaml solution can be arrivedat by making a locally optimal (greedy) choice.
         濡傦細(xì)Huffman緙栫爜錛屾渶灝忕敓鎴愭爲(wèi)
 
      2錛夎椽蹇冩硶鐨勪竴鑸楠?nbsp;     
          a. 灝嗗師闂鍒掑垎涓哄瓙2涓瓙闂錛堥潪overlap鐨勶級錛屾鏃跺氨鑳界敤鍔ㄦ佽鍒掓眰瑙d簡
          b. 鎵懼埌涓涓垝鍒嗙偣錛岃鍏朵腑涓涓瓙闂鍙樹負(fù)絀猴紝鍒欏彧鍓╀笅涓涓瓙闂浜嗭紝榪欏氨鏄椽蹇冪畻娉?/div>  
       3錛変嬌鐢ㄨ椽蹇冩硶鏃跺繀欏諱繚璇侊細(xì)
           We must prove that a greedy choice at each step yields a golbally optimal solution, and this is where cleverness may be required.
           榪欑偣涔熸槸鏈闅劇殑銆傛墍浠ユ湁涓棶棰?span style="color: red;">“浠涔堟儏鍐典笅錛屽眬閮ㄦ渶浼樻渶緇堜細(xì)浜х敓鍏ㄥ眬鏈浼樼殑緇撴灉錛?#8221;

       4錛夐傜敤璐績綆楁硶鐨勯棶棰樻湁 greedy-choice propertty錛岄渶瑕佹壘鍒頒竴涓椽蹇冪瓥鐣ャ?br />
       5錛夊浜庢壘涓嶅埌鍏ㄥ眬鏈浼樿В鐨勯棶棰橈紙濡侼P闂錛夛紝鍙互鑰冭檻璐績綆楁硶銆?br />
3. 鍔ㄦ佽鍒掍笌鍒嗘不娉曠殑姣旇緝

      鍒嗘不娉曢傚悎浜庨偅浜涜兘琚垎瑙d負(fù)鐙珛瀛愰棶棰樼殑闂錛涘姩鎬佽鍒掓洿閫傜敤浜庡瓙闂涔嬮棿涓嶆槸鐙珛鐨勶紝鑰屾槸浼?xì)share subproblems銆傚姩鎬佽鍒掔殑榪欎釜鐗圭偣寰楃泭浜庡畠鎶婂瓙闂鐨勭粨鏋滈兘淇濆瓨鍦ㄤ竴涓〃涓簡錛堝姩鎬佽鍒掔殑鑻辨枃鍚嶅瓧鏄疍ynamic Programming錛岃繖閲岀殑Programming鍙悊瑙d負(fù)a tabular method(琛ㄦ牸鏂規(guī)硶)錛夛紝榪欐牱灝辮兘灝戝幓閲嶅瀛愰棶棰樼殑璁$畻銆?鎵浠ュ姩鎬佽鍒掑彲浠ョ畻浣滄槸鍒嗘不娉曞湪overlapping 瀛愰棶棰橀噷鐨勪竴涓紭鍖栵紙榪欎釜浼樺寲鍦ㄧ▼搴忎腑鏄父瑙佺殑浼樺寲鏂規(guī)硶Memoization錛坔ttp://en.wikipedia.org/wiki/Memoization錛夛級

4. 鍔ㄦ佽鍒掍笌璐績娉曠殑姣旇緝
   1) 鐩稿悓鐐?br />      a. 闂瑕佹湁optimal substructure 
        A problem exhibits optimalsubstructure if an optimal solution to the problem contains within it optimal solutions to subproblems.       
        榪欐槸鑳界敤璐績娉曚笌鍔ㄦ佽鍒掕В絳旂殑闂鐨勫叧閿洜绱犮?br />      b. 閮介渶瑕佸垝鍒嗗瓙闂錛屼絾鏄垝鍒嗗瓙闂鐨勬柟寮忔湁浜涘尯鍒紝瑙佷笅闈㈢殑涓嶅悓鐐廣?br />  
   2錛変笉鍚岀偣
     a.  鍒掑垎瀛愰棶棰?
        濡傛灉浣犳妸鍒掑垎鐨勫瓙闂鏈変氦闆?overloapping subproblem)錛岃繖灝卞緢鏄劇劧鍦板皢浣犲紩鍏ヤ簡鍔ㄦ佽鍒掔殑鎬濈淮錛屼互"An activity-selection problem"涓句緥璇存槑錛?br />
        瀵逛簬闂 "An activity-selection problem"錛屽緢瀹規(guī)槗灝辮兘鎯沖埌鍔ㄦ佽鍒掔殑瑙f硶
int select_activity(int *a, int n, int i)
{
    if(i >=n )
        return 0;
    for(j= i + 1; j < n; j ++){
        if(a[j].start >= a[i].end)
            break;
    }
    int sum1 = select_activity(a, n, j) + 1;   //select the ith activity
    int sum2 = select_activity(a, n, i + 1);   //not select the ith activity
    
    if(sum1 > sum2)
        return sum1;
    else
        return sum2;
}
    浣嗘槸濡備綍灝嗗畠杞寲涓鴻椽蹇冪畻娉曞憿錛?br />       絳旀鏄細(xì)鐢辮繖縐嶆柟娉曟槸涓嶆槗杞寲涓鴻椽蹇冩硶鐨勩備笂闈㈣繖縐嶅垝鍒嗗瓙闂鐨勬柟寮忚〃鏄庝簡瀹冩洿閫傚悎浜庡姩鎬佽鍒掞紝灝卞儚鍦–LRS 383欏甸噷璇村埌鐨?-1鑳屽寘闂錛歍he problem formulated in this way gives rise to many over-lapping subproblems 錛?a hallmark of dynamic programming.
 
    b.  璐績娉曪細(xì) make whaterver choice seems best a the moment and then solve the subproblem arising after the choice is made.
        鍔ㄦ佽鍒掞細(xì)make a choice at each step, but the choice usually depends on the solutions to subproblems.

    c.  璐績娉曪細(xì)top-down fashinon        
        鍔ㄦ佽鍒掞細(xì)bottom-up manner

   
 


hex108 2011-08-24 20:51 鍙戣〃璇勮
]]>[鎵懼伐浣淽鏁版嵁緇撴瀯灝忕粨http://www.shnenglu.com/hex108/archive/2011/08/24/154241.htmlhex108hex108Wed, 24 Aug 2011 12:15:00 GMThttp://www.shnenglu.com/hex108/archive/2011/08/24/154241.htmlhttp://www.shnenglu.com/hex108/comments/154241.htmlhttp://www.shnenglu.com/hex108/archive/2011/08/24/154241.html#Feedback0http://www.shnenglu.com/hex108/comments/commentRss/154241.htmlhttp://www.shnenglu.com/hex108/services/trackbacks/154241.html
1. 浣嶅浘
    浣嶅浘鐨勫▉鍔涘彲浠ュ湪錛滅紪紼嬬彔鐜戯紴鐨勫紑澶村氨浣撲細(xì)鍒般傚彟澶栧湪Find an integer not among four billion given ones涓殑榪愮敤涔熷緢綺懼僵銆?br />
2. 鍫?br />
   鍦紲緙栫▼鐝犵帒錛為噷閲嶇偣榪愮敤浜嗚緇撴瀯錛岀洿鎺ュ鑷存垜浠ュ悗緇忓父鎯沖埌騫朵嬌鐢ㄨ緇撴瀯銆?br />   涓嶅緱涓嶈錛屽畠鐪熺殑寰堟湁鐢紝濡傦細(xì)鎵綨涓暟涓渶澶э紡鏈灝忕殑k涓暟銆?br />   瀹炵幇浼樺厛綰ч槦鍒楁椂涔熸湁鐢ㄣ?/div>
3. 鏍?br />
     浜屽弶鎼滅儲鏍?wèi)锛?xì)鏄竴涓緢瀹規(guī)槗灝辮兘鎯沖埌鐨勭粨鏋勶紝鍙璁╀竴媯典簩鍙夋爲(wèi)婊¤凍浠ヤ笅涓涓壒鎬у氨鍙互浜嗭細(xì)瀵逛簬浠諱竴緇撶偣N錛屽叾宸﹀瓙鏍?wèi)缁撶偣left婊¤凍key(x) <= key(N)錛屽叾鍙沖瓙鏍?wèi)缁撶偣right婊¤凍key(y) >= key(N)錛屽叾浼樼偣鏄搷浣滅畝鍗曪紝緙虹偣鏄彃鍏ワ紝鍒犻櫎緇撶偣鐨勫鏉傚害楂橈紝涓篛(N)
     浜屽弶鎼滅儲鏍?wèi)澶嶆潅搴﹂珮鐨勫師鍥犱负锛?xì)鏍?wèi)鐨勯珮搴︿笉纭?涓嶇ǔ瀹氾紝鏈夊彲鑳戒負(fù)n錛屾墍浠ラ棶棰樼殑鍏抽敭鏄細(xì)濡備綍鎺у埗鏍?wèi)鐨勯珮搴?br />     寰堝浜虹伒鏈轟竴鍔?浜х敓浜嗕竴緋誨垪騫寵 浜屽弶鏍?wèi)锛屽锛?xì)AVL鏍?wèi)锛孯ed-Black鏍?wèi)锛?a title="Treap" >Treap
     涔熶駭鐢熶簡寰堝騫寵 浜屽弶鏍?wèi)鐨勫彉绉嶅Q屽錛?a title="Weight balanced tree" >Weight balanced tree錛宬-neighbor tree絳?
     Skip List 涔熸槸騫寵 浜屽弶鏍?wèi)涔嬪鐨勫彟涓縐嶉夋嫨
     Suffix_tree鍚庣紑鏍?wèi)銆?br />
4. hash
    hash鐨勪袱涓叧閿偣鍦ㄤ簬錛歛. hash妗跺ぇ灝忕殑璁懼畾錛堜竴鑸負(fù)涓涓礌鏁幫級 b. 鍐茬獊澶勭悊鏈哄埗錛屽鍙互鐢ㄤ竴涓摼琛ㄥ鐞唄ash鍊肩浉鍚岀殑鍏冪礌銆?br />    鎴戝緢灝戣冭檻hash錛岃寰楀鏉傚害涓嶅ソ鎶婃彙銆備互鍚庡掓槸鍙互鑰冭檻鐢ㄧ敤錛屽錛氬湪闂“鍒ゆ柇涓や釜閾捐〃鏄惁鐩鎬氦”鏈夊彲浠ヤ嬌鐢╤ash錛?#8220;鍒ゆ柇閾捐〃鏈夋病鏈夌幆”鐢╤ash涔熷緢緇欏姏銆?/div>

hex108 2011-08-24 20:15 鍙戣〃璇勮
]]>鍏充簬綆楁硶鐨勪竴浜涜祫鏂?/title><link>http://www.shnenglu.com/hex108/archive/2011/07/01/149939.html</link><dc:creator>hex108</dc:creator><author>hex108</author><pubDate>Fri, 01 Jul 2011 12:27:00 GMT</pubDate><guid>http://www.shnenglu.com/hex108/archive/2011/07/01/149939.html</guid><wfw:comment>http://www.shnenglu.com/hex108/comments/149939.html</wfw:comment><comments>http://www.shnenglu.com/hex108/archive/2011/07/01/149939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/hex108/comments/commentRss/149939.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/hex108/services/trackbacks/149939.html</trackback:ping><description><![CDATA[<span style="font-family: verdana, 'courier new'; font-size: 14px; line-height: 21px; ">綆楁硶鐨勮繃紼嬪緢璇︾粏錛岀編涓笉瓚崇殑鏄?/span>鏈鍩烘湰鏈甯哥敤鐨勯偅浜涚畻娉曞叾瀹炴槸姣旇緝?yōu)畱鐨勫Q岃姳鐐規(guī)椂闂村鎯蟲兂涓轟粈涔堬紝鐭ュ叾鐒惰繕瑕佺煡鍏舵墍浠ョ劧(<a title="1" >1</a>錛?a title="2">2</a>)錛岃繖鏍鋒墠鑳芥椿瀛︽椿鐢ㄣ?br /><br />1. 涔? <br />1.1 <a title="緙栫▼鐝犵帒">緙栫▼鐝犵帒</a><br />    璦綆鎰忚祬錛屽洖鍛蟲棤絀楓傛湰涔︾殑緗戠粶鐗堝湪 <a title="http://netlib.bell-labs.com/cm/cs/pearls/">http://netlib.bell-labs.com/cm/cs/pearls/</a> 涓婏紝闄勬湁婧愪唬鐮併?<a href="http://www.shnenglu.com/hex108/archive/2011/07/07/150403.html" title="榪欓噷">榪欓噷</a>鏈夋垜鐨勮涔︽葷粨銆?鍙楀埌姝や功鐨勫獎鍝嶏紝鎴戝浠g爜浜х敓浜嗗緢寮虹殑媧佺櫀錛屽潥淇′唬鐮佽繕鍙互鍐欏緱鏇翠紭緹庯紝鏇磋壓鏈傛澶栭潰瀵逛竴涓棶棰樻椂鍒嗘瀽鐨勮搴︽洿澶氫簡銆?br /><br />1.2 <a title="緙栫▼涔嬬編" >緙栫▼涔嬬編</a><br />     涔︿笂鐨勬瘡涓閮戒細(xì)浠旂粏鍦板仛錛屽茍瀹屾垚浠g爜銆傛濊冪殑涔愯叮鏄棤絀風(fēng)殑錛屾椂甯鎬細(xì)鏈変箰瓚c?br /><br />1.3 <a title="綆楁硶瀵艱" >綆楁硶瀵艱<br /></a>   緇忓吀浣嗘槸姣旇緝鍘氾紝閫傚悎緋葷粺鍦板涔?fàn)绠楁硶锛岃屽悗姣忔閬囧埌涓嶆噦鐨勫彲浠ュ啀鏌ラ槄錛?div style="display: inline-block; "></div>綆楁硶鐨勮繃紼嬪緢璇︾粏錛岀編涓笉瓚崇殑鏄病鏈夌煡鍏舵墍浠ョ劧鐨勬劅瑙夈傜湅姝や功絎竴閬嶆椂錛屾槸鎸夌収涔︾殑欏哄簭鐪嬬殑錛屽榪欎簺綆楁硶澶ц嚧閮芥湁鐔熸?zhèn)変簡銆傚悗鏉ヤ細(xì)鍋跺皵鏌ラ槄銆傜幇鍦ㄤ負(fù)浜嗗噯澶囩畻娉曪紝浼?xì)鏃跺父鏌ラ槄姝や功銆?a title="綆楁硶瀵艱" ><br /></a><br />2. 鏂囩珷<br />2.1 <a title="Do We Teach the Right Algorithm Design Techniques ?" >Do We Teach the Right Algorithm Design Techniques ?</a> <br />   鎶婄畻娉曟寜鍏墮氱敤紼嬪害鎻愬嚭浜?涓渶鍩烘湰鐨勭畻娉曟濇兂錛欱rute force 錛?Divide & conquer 錛?Decrease & conquer錛?nbsp; Transform & conquer銆?br />   璇誨畬鍚庡彲浠ュ綆楁硶鐨勬暣浣撴湁鏇村ソ鐨勬帉鎻°?br /><br />3. 緗戠粶鏁欑▼<br />3.1 <a title="Top Coder鐨刟lgorithm tutorial">Top Coder鐨刟lgorithm tutorial</a><img src ="http://www.shnenglu.com/hex108/aggbug/149939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/hex108/" target="_blank">hex108</a> 2011-07-01 20:27 <a href="http://www.shnenglu.com/hex108/archive/2011/07/01/149939.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浜屽垎鏌ユ壘 -- 鏉ヨ嚜緙栫▼鐝犵帒http://www.shnenglu.com/hex108/archive/2011/06/18/148907.htmlhex108hex108Sat, 18 Jun 2011 07:02:00 GMThttp://www.shnenglu.com/hex108/archive/2011/06/18/148907.htmlhttp://www.shnenglu.com/hex108/comments/148907.htmlhttp://www.shnenglu.com/hex108/archive/2011/06/18/148907.html#Feedback2http://www.shnenglu.com/hex108/comments/commentRss/148907.htmlhttp://www.shnenglu.com/hex108/services/trackbacks/148907.htmlBinary search algorithm錛夋槸涓涓緢甯歌鐨勭畻娉曪紝浠庯紲緙栫▼鐝犵帒錛為噷鍐嶆鐪嬪埌鏃跺張鏈夋柊鐨勬敹鑾楓?br />      鐩存帴鐪嬩唬鐮佸惂錛屼笅闈㈡槸甯歌鐨勫疄鐜頒唬鐮侊細(xì)
    
int binary_search(int *a, int num, int t)
{
    
int start = 0, end = num - 1;
    
    
while(end >= start){
        
int middle = (start + end) / 2;
        
int tmp = a[middle];
        
if(tmp < t){
            start 
= middle + 1;
        }
else if(tmp > t){
            end 
= middle - 1;
        }
else{
            
return middle;
        }
    }

    
return -1;
}   

      浼樺寲鍚庣殑浠g爜涓猴紙榪欎釜浼樺寲鐨勬濇兂涔熸尯濂界殑錛屼笉鐭ラ亾鏈夋病鏈変竴濂楃郴緇熺殑鏂規(guī)硶鏉ユ濊冨嚭榪欎釜浼樺寲鎬濊礬錛夛細(xì)
     
int binary_search(int *a, int num, int t)
{
    
int low = -1, high = num - 1;
    
    
while(low + 1 != high){
        
int middle = (low + high) / 2;
        
if(a[middle] < t){
            low 
= middle;
        }
else{
            high 
= middle;
        }
    }
    
    
if(a[high] != t)
        
return -1;
    
else
        
return high;
}
 
     濡傛灉鐩存帴鐪嬭繖孌典唬鐮侊紝鏈夊彲鑳戒笉鐭ラ亾鏄庝箞鍥炰簨銆備絾鏄繍鐢ㄤ功涓彁鍒扮殑“紼嬪簭楠岃瘉”鐨勬柟娉曞悗錛屽師鐞嗗氨鏄捐屾槗瑙佷簡錛屼慨鏀瑰悗鐨勪唬鐮佷負(fù)錛?br />
 1 int binary_search(int *a, int num, int t)
 2 {
 3     int low = -1, high = num - 1;
 4     
 5     //invariant: low < high && a[low] < t && a[high] >= t
 6     while(low + 1 != high){
 7         int middle = (low + high) / 2錛濓紳錛?/span>  int middle = low + (high - low) / 2;   //闃叉婧㈠嚭
 8         if(a[middle] < t){
 9             low = middle;
10         }else{
11             high = middle;
12         }
13     }   
14    //assert錛氥low +1 = high && a[low] < t && a[high] >= t
15   
16     if(a[high] != t)
17         return -1;
18     else
19         return high;
20 }
21 

      “紼嬪簭楠岃瘉” 鐨勬濇兂鍙互綆榪頒負(fù)錛氫笉綆℃槸楠岃瘉涓涓嚱鏁幫紝榪樻槸涓鏉¤鍙ワ紝涓涓帶鍒剁粨鏋勶紙寰幆錛宨f鍒嗘敮絳夛級錛岄兘鍙互閲囩敤涓や釜鏂█錛堝墠緗潯浠跺拰鍚庣疆鏉′歡錛夋潵杈懼埌榪欎釜鐩殑銆傚墠緗潯浠舵槸鍦ㄦ墽琛岃澶勪唬鐮佷箣鍓嶅氨搴旇鎴愮珛鐨勬潯浠訛紝鍚庣疆鏉′歡鐨勬紜у湪鎵ц瀹岃澶勪唬鐮佸悗蹇呴』寰楀埌淇濊瘉銆傦紙ps: 鏂█涔熺畻鏄竴縐嶉獙璇佺殑鎵嬫錛?br />
銆銆涓婇潰榪欐浠g爜鐨勫師鐞嗘槸緇欏畾涓孌靛尯闂?(low, high] 錛屽鏋滄簚瓚?a[low] < t  && a[high] >=t && high = low + 1錛岄偅涔堟湁涓ょ鎯呭喌瀛樺湪錛?. a[high] = t ; 2.涓巘鐩哥瓑鐨勫厓绱犱笉瀛樺湪銆傜敱浜庢暟緇刟 鑲畾婊¤凍鏉′歡a[low] < t  && a[high] >=t錛屾墍浠ヨ綆楁硶瑕佸仛鐨勫氨鏄妸鍖洪棿 (-1, num -1] 緙╁皬鍒?low, low+1]銆?銆
      1. 鍦ㄦ墽琛屼唬鐮?~17琛屾椂錛?span>濮嬬粓淇濊瘉low < high && a[low] < t && a[high] >= t 鎴愮珛銆?/span>
銆銆
2. 鍦ㄦ墽琛屽畬6~17琛屽悗錛岃偗瀹氭豢瓚蟲潯浠禷[low] < t  && a[high] >=t && high = low + 1錛屽洜涓哄驚鐜鍑虹殑鏉′歡鏄?high = low + 1錛岃岃寰幆濮嬬粓淇濊瘉涓婇潰絎紤鏉°?br />銆銆緇忚繃榪欐牱鐨勫垎鏋愬悗錛屾垜浠兘瀵圭▼搴忕殑姝g‘鎬ф湁鏇村ソ鐨勬帉鎻★紝鍚屾椂紼嬪簭涔熸洿鏄撶悊瑙c?br />
鍙傝冿細(xì)
銆銆錛? 鍩烘湰涓婃憳鑷紲緙栫▼鐝犵帒錛烇紝寰堜笉閿欑殑涓鏈功錛岃鎴戝綆楁硶鏈変簡鏂扮殑鎬濊冿紝浠ュ墠鍙槸鐪嬬湅綆楁硶瀵艱濡備綍瀹炵幇鐨勶紝娌℃湁鎬濊冭綆楁硶鏄浣曟兂鍑烘潵鐨勶紝鏈夋病鏈夋洿綆鍗曠殑綆楁硶錛堟濊冪殑榪囩▼綾諱技鍒樻湭楣忕殑錛?a title="鐭ュ叾鎵浠ョ劧錛堢畫錛?>鐭ュ叾鎵浠ョ劧錛堢畫錛?/a>錛烇級錛岃鍧氭寔榪欎釜鎬濊冭繃紼嬮渶瑕佸緢澶氬姛澶笌鏃墮棿錛屼絾鏁堟灉涔熷緢鏄庢樉錛岃兘瀵圭畻娉曟湁鏇村ソ鐨勬帉鎻°?img src ="http://www.shnenglu.com/hex108/aggbug/148907.html" width = "1" height = "1" />

hex108 2011-06-18 15:02 鍙戣〃璇勮
]]>
人妻系列无码专区久久五月天| 久久精品亚洲日本波多野结衣| 久久久亚洲精品蜜桃臀| 精品久久人人妻人人做精品 | 老司机国内精品久久久久| 国产 亚洲 欧美 另类 久久| 婷婷久久综合九色综合绿巨人| 亚洲AV无码久久精品色欲| 丁香五月综合久久激情| 亚洲AV日韩AV天堂久久| 国产亚洲成人久久| 久久精品aⅴ无码中文字字幕重口| 91精品日韩人妻无码久久不卡| 久久99热这里只有精品国产| 中文字幕久久欲求不满| 精品国产青草久久久久福利| 久久99久久成人免费播放| av色综合久久天堂av色综合在| 国内精品久久久久久久亚洲| 一本色道久久88精品综合| 四虎久久影院| 狠狠久久综合伊人不卡| 国产精品久久久久影院色| 久久经典免费视频| 久久人人爽人人精品视频| 久久久av波多野一区二区| 亚洲AV伊人久久青青草原| 国产精品VIDEOSSEX久久发布| 日韩人妻无码一区二区三区久久 | 久久中文字幕人妻熟av女| 国产A级毛片久久久精品毛片| 久久亚洲国产成人精品性色| 久久人人爽人人爽人人片AV麻烦| 久久久久亚洲AV综合波多野结衣| 欧美综合天天夜夜久久| 99久久婷婷免费国产综合精品| 久久无码人妻一区二区三区午夜| 97久久婷婷五月综合色d啪蜜芽| 久久国语露脸国产精品电影| 久久久国产打桩机| 久久久久无码精品国产|