青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

雁過無痕

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::

《編程之美》讀書筆記22:    1.16  24點游戲(補(bǔ)充)

 

給定n個數(shù),能否只通過加減乘除計算得到24

書上給出的最后一種解法,通過使用集合記錄中間結(jié)果來減少冗余計算。本以為,程序會占用大量的內(nèi)存,用一個極端的例子(13, 773, 28, 98, 731, 1357,973572467個數(shù))測試了一下實現(xiàn)的程序,發(fā)現(xiàn)程序竟然占用了1G以上的內(nèi)存(無論集合的實現(xiàn)采用STL中的set還是unordered_set),但后來,取7個均在113之間的數(shù),再重新測試了下發(fā)現(xiàn),程序所占用的內(nèi)存比想像的小的多,也就幾兆。

對數(shù)值都在113之間的n個數(shù)的所有組合進(jìn)行判斷。在n等于4時,實現(xiàn)的程序約過1秒就給出了結(jié)果,而n等于5時,程序要運行58秒,效率實在差,可以通過這幾方面優(yōu)化:

① 保存每個集合的子集合的編號:

對給定的n,共有12^n – 1個集合,每個集合的子集合編號是固定的,但原程序每計算一個n個數(shù)的組合,都要對這些子集合編號計算一遍,可以保存每個集合的子集合編號,減少大量的重復(fù)計算。

② 改進(jìn)計算子集合編號的算法:

原程序的算法的時間復(fù)雜度是O(4^n),在n較大時,相當(dāng)慢。

③ 對最后一個集合是否含有24的判斷:

原程序要遍歷該集合所有的元素,效率比較差,可以考慮,在將兩個集合合并到該集合時,只對取出的兩個元素的計算結(jié)果是否為24進(jìn)行判斷,這樣不僅省去最后的遍歷,而且不用將結(jié)果插入到最后的那個集合中,省去了大量操作。

 

采用①和③兩種改進(jìn)方法后,程序運行時間由原來的58秒縮短到了14秒,但這還不能讓人滿意。對2,3,5,6,85個數(shù),如果用書上的第一種方法,可以只調(diào)用4次函數(shù)就可以得到結(jié)果:2+3+5+6+8=24,但用集合的方法來處理,卻要對所有的集合進(jìn)行子集合合并后才能給出結(jié)果,這造成了效率極差,可以這樣改進(jìn)該算法:

初始有n個集合:每一次任意取出2個集合,合并后,放回去,再取出任意2個集合,重復(fù)前面的操作,直到只剩下一個集合為止。

例如:初始有5個數(shù),把這5個數(shù)分別放到5個集合,并分別編號為:124816。任意取出2個集合,假設(shè)為14,將14合并,得到編號為5(=1+4)的集合,剩下的集合為:52168,再取出2個,假設(shè)為58,合并后,得到13216,再取2個,假設(shè)為1316,合并后得到292,當(dāng)剩下2個集合時,可以直接對這兩個集合間的的計算結(jié)果是否為24進(jìn)行判斷,直接得出結(jié)果,省去不必要的合并(合并后再判斷是否有元素近似等于24,程序運行時間8s多,而直接對計算結(jié)果判斷,程序只要運行1s多)。

優(yōu)化后的程序,只要運行1s多。但其效率還是不如書上的第一種方法的改進(jìn)版,仔細(xì)想想,n越大,集合的元素也就越多,兩個集合之間的合并,就越耗時間。而且采用集合保存中間結(jié)果,表面上減少了重復(fù)狀態(tài),會提高效率,但實際上,由于采用了集合,就多了很多不必要的計算,(比如,對2+3+5+6+8=24,最少只要4次計算就能得出結(jié)果,采用集合合并后,則要計算幾百次(約為6^4)),再加上實現(xiàn)集合所采用的數(shù)據(jù)結(jié)構(gòu)的開銷,效率高不了。

24_set_1



24_set_2.cpp


24_set_3.cpp
posted on 2010-08-15 23:35 flyinghearts 閱讀(976) 評論(0)  編輯 收藏 引用 所屬分類: 算法編程之美C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品红桃| 欧美午夜三级| 99这里有精品| 国产精品不卡在线| 欧美永久精品| 欧美高清视频在线播放| 亚洲尤物视频在线| 国产专区欧美精品| 欧美喷水视频| 久久精品日韩| 国产精品99久久久久久久vr| 免费高清在线一区| 先锋影音国产一区| 99在线精品免费视频九九视| 韩国成人福利片在线播放| 欧美日韩国产123| 美女视频网站黄色亚洲| 西西裸体人体做爰大胆久久久| 亚洲精品黄色| 午夜视频在线观看一区| 一区二区日韩免费看| 亚洲电影天堂av| 国产久一道中文一区| 欧美日本不卡| 欧美国产日韩免费| 久久久水蜜桃| 欧美一区二区三区视频免费播放| 麻豆成人小视频| 久久久精品动漫| 久久精品国产久精国产一老狼| 亚洲视频综合| 亚洲一区二区三| 欧美日韩免费在线观看| 亚洲一区二区三区涩| 亚洲欧美中文日韩v在线观看| 欧美日韩不卡| 亚洲网在线观看| 欧美在线视频在线播放完整版免费观看| 国产精品日本一区二区| 欧美日韩国产一区| 欧美日本不卡| 欧美日韩国产综合视频在线观看中文 | 欧美3dxxxxhd| 国产综合网站| 国产一区二区三区网站| 国产亚洲欧美色| 国产欧美精品一区| 国产三区二区一区久久| 国产综合久久久久影院| 国产欧美亚洲日本| 国产一区二区三区久久悠悠色av| 国产日韩欧美在线一区| 国产精品午夜电影| 国产一区清纯| 在线播放中文字幕一区| 亚洲国产乱码最新视频| 夜夜精品视频| 亚洲欧美文学| 欧美一级一区| 欧美**字幕| 91久久极品少妇xxxxⅹ软件| 欧美成年人视频网站| 亚洲级视频在线观看免费1级| 亚洲精品久久久久久久久| 中日韩高清电影网| 久久久久久久久久久久久9999| 久久综合九色综合欧美狠狠| 欧美激情欧美激情在线五月| 国产精品美女午夜av| 国产亚洲精品久| 日韩亚洲视频| 久久精品99国产精品| 欧美福利在线观看| 亚洲主播在线| 久久久久久久综合色一本| 欧美激情片在线观看| 国产欧美日韩91| 91久久国产综合久久| 一级成人国产| 麻豆精品视频在线| 欧美搞黄网站| 亚洲欧美日韩国产成人精品影院| 亚洲精品一品区二品区三品区| 99亚洲视频| 久久亚洲精品一区二区| 亚洲免费高清视频| 欧美在线啊v| 欧美日韩中文字幕综合视频| 国产欧美va欧美不卡在线| 亚洲国产乱码最新视频| 欧美一区二区三区四区在线观看 | 欧美激情在线免费观看| 欧美日韩国产免费| 在线亚洲自拍| 欧美日韩小视频| 欧美一区二区日韩| 久久久噜噜噜久久狠狠50岁| 欧美电影在线观看| 国产日产高清欧美一区二区三区| 亚洲精品资源| 蜜桃视频一区| 亚洲字幕在线观看| 日韩亚洲欧美一区| 欧美中文字幕视频在线观看| 亚洲制服欧美中文字幕中文字幕| 久久国产精品网站| 欧美一区二区三区免费看| 欧美天天综合网| 亚洲激情午夜| 久久免费精品视频| 亚洲午夜视频| 国产精品xxxxx| 99亚洲一区二区| 美女福利精品视频| 亚洲欧美中文日韩在线| 午夜亚洲视频| 午夜视频一区二区| 国产精品成人在线观看| 蜜臀99久久精品久久久久久软件| 欧美日韩在线播放三区四区| 国产欧美日韩精品在线| 日韩一级在线| 亚洲精品国产精品国自产观看浪潮| 国产精品看片资源| 久久精品在线免费观看| 国产精品久久久久秋霞鲁丝 | 欧美国产成人精品| 欧美影视一区| 国产亚洲成av人片在线观看桃| 亚洲欧美久久| 欧美综合77777色婷婷| 欧美区一区二| 99国产麻豆精品| 麻豆乱码国产一区二区三区| 在线观看日韩欧美| 久久精品一本| 国产精品美女久久久久久久| 亚洲社区在线观看| 亚洲国产福利在线| 在线成人激情黄色| 亚洲国产婷婷香蕉久久久久久| 欧美日韩国产综合网| 性做久久久久久久久| 久久综合一区| 一区二区国产日产| 久久精品成人一区二区三区| 亚洲激情综合| 亚洲第一黄色| 午夜精品久久久久久| 欧美日韩午夜激情| 亚洲国产网站| 亚洲欧美一区二区精品久久久| 欧美成人日本| 久久亚洲国产成人| 欧美精品18+| 欧美在线三区| 韩国一区二区三区在线观看| 亚洲精品久久久久久久久久久久久| 亚洲精品视频啊美女在线直播| 亚洲精品九九| 国产综合色一区二区三区| 久久久777| 一区二区三区高清在线| 欧美日韩午夜激情| 老巨人导航500精品| 欧美日韩一区综合| 亚洲理论在线观看| 久久综合狠狠综合久久综青草 | 含羞草久久爱69一区| 日韩天堂在线观看| 亚洲缚视频在线观看| 亚洲国产福利在线| 一区二区三区四区蜜桃| 午夜久久久久久久久久一区二区| 亚洲欧洲午夜| 欧美伊人久久大香线蕉综合69| 亚洲免费精彩视频| 另类av导航| 久久美女性网| 国产精品免费观看在线| 久久这里有精品15一区二区三区| 欧美日韩视频在线一区二区观看视频| 免费在线观看一区二区| 国产日本欧美一区二区| 一区二区激情小说| 一区二区三区四区精品| 欧美一级片久久久久久久| 99精品视频免费观看视频| 欧美精彩视频一区二区三区| 亚洲欧美国产精品桃花| 欧美成人一区二区三区片免费| 狼狼综合久久久久综合网| 99视频日韩| 日韩亚洲欧美精品| 国产精品一区二区在线观看网站| 久久久亚洲人| 亚洲男人的天堂在线aⅴ视频| 亚洲国产高清在线观看视频| 欧美一区二区观看视频| 日韩一级在线观看|