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

小角色,大心臟

C++博客 首頁 新隨筆 聯系 聚合 管理
  6 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

2011年6月21日 #

某此報告會上,提到NP問題,不是清楚,現查閱如下:
1)http://en.wikipedia.org/wiki/NP-hard上的解釋;
2)弄清楚這幾個概念:計算復雜性以及其排序和問題規約等;
##計算復雜性
這是描述一種算法需要多少“時間”的度量。(也有空間復雜性,但因為它們能相互轉換,所以通常我們就說時間復雜性。對于大小為 n 的輸入,我們用含 n 的簡化式子來表達。(所謂簡化式子,就是忽略系數、常數,僅保留最“大”的那部分)
比如找出 n 個數中最大的一個,很簡單,就是把第一個數和第二個比,其中大的那個再和第三個比,依次類推,總共要比 n-1 次,我們記作 O(n) (對于 n 可以是很大很大的情況下,-1可以忽略不計了)。
再比如從小到大排好的 n 個數,從中找出等于 x 的那個。一種方法是按著順序從頭到尾一個個找,最好情況是第一個就是 x,最壞情況是比較了 n 次直最后一個,因此最壞情況下的計算復雜度也是 O(n)。還有一種方法:先取中間那個數和 x 比較,如偏大則在前一半數中找,如偏小則在后一半數中找,每次都是取中間的那個數進行比較,則最壞情況是 lg(n)/lg2。忽略系數lg2,算法復雜度是O(lgn)。

##計算復雜性的排序:
根據含 n 的表達式隨 n 增大的增長速度,可以將它們排序:1 < lg(n) < n < nlg(n) < n^2 < ... < n^k (k是常數)< ... < 2^n。最后這個 2 的 n 次方就是級數增長了,讀過棋盤上放麥粒故事的人都知道這個增長速度有多快。而之前的那些都是 n 的多項式時間的復雜度。為什么我們在這里忽略所有的系數、常數,例如 2*n^3+9*n^2 可以被簡化為 n^3?用集合什么的都能解釋,我忘了精確的說法了。如果你還記得微積分的話就想像一下對 (2*n^3+9*n^2)/(n^3) 求導,結果是0,沒區別,對不?

##P 問題:對一個問題,凡是能找到計算復雜度可以表示為多項式的確定算法,這個問題就屬于 P (polynomial) 問題。

##NP 問題:
NP 中的 N 是指非確定的(non-deterministic)算法,這是這樣一種算法:(1)猜一個答案。(2)驗證這個答案是否正確。(3)只要存在某次驗證,答案是正確的,則該算法得解。
NP (non-deterministic polynomial)問題就是指,用這樣的非確定的算法,驗證步驟(2)有多項式時間的計算復雜度的算法。

##問題的歸約:
這……我該用什么術語來解釋呢?集合?太難說清了……如果你還記得函數的映射的話就比較容易想象了。
大致就是這樣:找從問題1的所有輸入到問題2的所有輸入的對應,如果相應的,也能有問題2的所有輸出到問題1的所有輸出的對應,則若我們找到了問題2的解法,就能通過輸入、輸出的對應關系,得到問題1的解法。由此我們說問題1可歸約到問題2。

##NP-Hard:
有這樣一種問題,所有 NP 問題都可以歸約到這種問題,我們稱之為 NP-hard 問題。

##NP完全問題 (NP-Complete):
如果一個問題既是 NP 問題又是 NP-Hard 問題,則它是 NP-Complete 問題。可滿足性問題就是一個 NP 完全問題,此外著名的給圖染色、哈密爾頓環、背包、貨郎問題都是 NP 完全問題。

從直覺上說,P<=NP<=NP-Complete<=NP-Hard,問題的難度遞增。但目前只能證明 P 屬于 NP,究竟 P=NP 還是 P 真包含于 NP 還未知。
posted @ 2011-06-21 10:05 小角色 閱讀(391) | 評論 (0)編輯 收藏

2011年6月1日 #

不止一次,看到很多講技術的文章里面出現過這個詞語。在WIKI上的解釋如下: 

In computer science, bleeding edge is a term that refers to technology that is so new (and thus, presumably, not perfected) that the user is required to risk reductions in stability and productivity in order to use it. It also refers to the tendency of the latest technology to be extremely expensive. The term was first coined by Peter Barus, a Superbase programmer.

在計算機領域,Bleeding Edge指一種最新的、因而也并非完美的技術。使用者為了它的新,就要拿穩定性和產量來冒險。它也指當今技術的每一步發展都越來越昂貴的趨勢。這個詞的發明者是一個超級數據庫的程序員Peter Barus。

The term is formed as an allusion to "leading edge" and its synonym cutting edge, but implying a greater degree of risk: the "bleeding edge" is in front of the "cutting edge". A technology may be considered bleeding edge under the following conditions:

這個詞,可以視作Leading Edge的另一種說法,Cutting Edge的同義詞,但是Bleeding Edge更要隱含一種風險的含義:和Cutting Edge相比,Bleeding Edge更要前衛一些。通常,一種技術如果要被稱作是Bleeding Edge,那么它通常會符合以下幾種特性描述:

  • Lack of consensus — competing ways of doing some new thing exist and no one really knows for certain which way the market is going to go.
  • 沒有公認——在達到同一目標的不同的技術道路之中,沒有人知道,究竟哪一條路會成為市場的最終選擇。
  • Lack of knowledge — organizations are trying to implement a new technology or product that the trade journals have not even started talking about yet, either for or against.
  • 缺乏認識——當一些機構開始對一項新技術或者新產品進行研發的時候,行業媒體甚至還沒有開始對此展開討論,無論是贊成,還是反對。
  • Industry resistance to change — trade journals and industry leaders have spoken against a new technology or product but some organizations are trying to implement it anyway because they are convinced it is technically superior.
  • 遭到產業抵制——行業媒體和產業界已經對某項新技術或者新產品進行抨擊,但是一些組織和機構因為堅信其技術上的優越性而繼續努力完善之。

The rewards for successful early adoption of new technologies can be great; unfortunately, the penalties for "betting on the wrong horse" or choosing the wrong product are equally large. Whenever an organization decides to take a chance on bleeding edge technology there is a good chance that they will be stuck with a white elephant or worse.

最早成功采用新技術所帶來的回報可能會非常豐厚;然而,如果你下注下錯了,你遭到的懲罰會同樣可觀。因此,當一個組織決定采用Bleeding Edge的新技術時,他們有可能因此而背上沉重的負擔甚至更糟。

Recently however, the term bleeding edge has been increasingly used by the general public to mean "ahead of cutting edge" largely without the negative, risk-associated connotation concurrent with the term's use in more specific fields.

但是現在,在越來越多的普遍用法中,Bleeding Edge已經成為一個只是強調前衛性而沒有風險性的詞語。

An apt quotation concerning this issue is:"But when you're living on the bleeding edge, you should not be surprised when you do, infact, bleed."

一個引用環境是:“當你選擇了Bleeding Edge的技術之后,你就不應該為此付出的代價而感到震驚。”

 

Bleeding

posted @ 2011-06-01 19:26 小角色 閱讀(274) | 評論 (0)編輯 收藏

2011年5月28日 #

今天學生問我,class 和 struct 到底有什么區別?我說:“在C++中,沒有什么區別”,課下查閱一番,總結入下

1)在Cstruct是用來封裝數據的,其中不能夠有函數成員,變量默認的存取權限是public的;

2)而在C++中集成了在C中的用法并做出改進,那就是允許struct中有成員函數,這純粹是為了和C兼容,因此如果不需要和C兼容或傳遞參數給C,建議在C++中不用struct

而實際中,大多數程序員習慣用struct定義只含數據成員的結構,而用class定義既含數據成員也汗函數成員的結構;

3)在C++中兩者有微小的用法差異:一是class中成員默認的存取權限是private的,而struct中成員默認是public的;二是在用模板的時候只能寫成template <class Type>template <typename Type>,而不能寫成<struct Type>

4)另外,可以這樣說不管定義在基類還是派生類,classdata member 和 非virtual function的存取效率和struct是一樣的(或說如果沒有多態和虛擬繼承,二者存取效率相同);
PS:如有不恰當之處,望請指教!

posted @ 2011-05-28 10:06 小角色 閱讀(285) | 評論 (0)編輯 收藏

2011年5月20日 #

哎,墮落了,好幾天不寫代碼了;最近Lonnie Heinke(C++外教)給學生布置了幾個程序:一個鏈表的,一個STL的。得抽時間搞一搞了。。。。
posted @ 2011-05-20 21:43 小角色 閱讀(245) | 評論 (0)編輯 收藏

2011年4月16日 #

作大二《C++高級程序設計》助教已有7周,遇到很多學生提出來的問題,總的說來都屬于C++基礎問題。然而,由于才疏學淺,很多次被學生問懵了,為了面子,不得不私下惡補。Always try to see the half glass full!
惡補的過程中,總結了一些問題,本著交流與分享的出發點,偶會在這里不定期更新,希望對C++初學者有所幫助!也請指出偶的錯誤之處!
PS:下面提到的觀點并非全部屬于自己,很多是來自各技術論壇大牛之作,在此引用,謝過先


 

Question:編譯器會自動創建那些成員函數呢?什么情況下我們不需要自己寫這些函數呢?(學生問時,我說了三種,少了assignment operator)
Answer:constructor(構造函數);destructor(析構函數);copy constructor(復制構造函數);assignment operator(賦值操作符)
              以Human為例:
                     Human();//默認構造函數
                     ~Human();//析構函數
                     Human(const Human& p);//復制構造函數
                     Human & operator = (const Human & lvalue);//賦值操作符函數
               學生又問了既然編譯器給我們自動創建了這些構造函數,為什么我們還要重新自己定義呢?
               暈倒,我問“構造函數的作用是什么呢?” 答曰“初始化數據成員(因為無法在類里面給成員變量賦初值)” “僅僅如此嗎,如果需要實現一些功能呢,要不要在構造函數里寫?回答是肯定的”。至于其他幾個構造函數別有用途,另行討論;
               學生沒有示弱的意思,反問道“那什么情況下,我們不需要寫這些函數呢” 
                稍稍考慮了一下,“如果沒有寫構造函數,編譯器會自動生成一個不帶參數的構造函數即默認構造函數,析構函數類似”,暫時敷衍了一下。后來又想,至于復制構造函數和賦值呢?查了一下才知道:如果我們只用基本數據類型,而沒有用指針或者引用作為數據成員,此時就不需要自己寫這些函數。所以一般情況下,我們通常都寫上這幾個構造函數!
posted @ 2011-04-16 19:00 小角色 閱讀(343) | 評論 (0)編輯 收藏

2011年4月12日 #

  • 研一下學期要搞點東西,用到C++和linux,順便兼職C++TA,知識匱乏,前來充電;
  • 希望多動腦,多動手,分享資源,共同學習,提高效率;

posted @ 2011-04-12 23:00 小角色 閱讀(171) | 評論 (0)編輯 收藏

僅列出標題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美日韩一区在线| 亚洲免费中文字幕| 亚洲永久免费视频| 一区二区三区日韩精品| 亚洲精品一区中文| 亚洲视频1区2区| 亚洲欧美日韩另类| 久久国产主播| 欧美不卡在线| 亚洲精品在线三区| 午夜精品视频在线观看| 久久久久国产一区二区| 欧美国产日本高清在线| 国产精品va| 国产最新精品精品你懂的| 亚洲第一区中文99精品| 亚洲视频在线免费观看| 久久精品视频在线播放| 欧美韩日一区| 亚洲愉拍自拍另类高清精品| 久久天天躁狠狠躁夜夜av| 欧美日本国产| 一区免费在线| 亚洲午夜视频在线观看| 毛片一区二区三区| 中文精品视频一区二区在线观看| 久久福利一区| 国产精品乱码妇女bbbb| 136国产福利精品导航网址应用| 亚洲一区二区三区777| 女人天堂亚洲aⅴ在线观看| 亚洲精品一区二区在线| 亚洲美女中出| 国产精品日韩在线| 亚洲日本va午夜在线电影| 性色av一区二区怡红| 亚洲欧洲一区二区天堂久久| 在线视频精品一| 欧美成人一区二区| 黑人巨大精品欧美一区二区| 亚洲性感激情| 亚洲人精品午夜在线观看| 久久久精品免费视频| 国产精品美女| 亚洲午夜精品视频| 亚洲黄页一区| 嫩草影视亚洲| 亚洲国产美女久久久久| 久久综合久久88| 欧美一站二站| 国产欧美日本一区二区三区| 中文日韩在线视频| 亚洲三级影院| 欧美伦理视频网站| 日韩亚洲不卡在线| 亚洲日本久久| 欧美日韩免费高清| 亚洲午夜精品一区二区三区他趣| 91久久精品国产91久久性色tv| 久久综合狠狠| 亚洲精品欧美日韩专区| 亚洲国产精品成人精品| 免费高清在线视频一区·| 亚洲电影免费在线| 欧美激情小视频| 欧美福利一区| 亚洲婷婷综合色高清在线 | 国产精品一区二区三区免费观看| 中国亚洲黄色| 一本一本a久久| 国产精品美女黄网| 久久黄色网页| 久久精品视频在线免费观看| 精品盗摄一区二区三区| 免费欧美在线视频| 欧美国产高清| 亚洲一区二区三区免费视频 | 免费试看一区| 99精品免费| 亚洲自拍偷拍一区| 激情偷拍久久| 亚洲国产一区二区三区在线播 | 欧美精品激情| 亚洲免费在线电影| 欧美一区深夜视频| 亚洲靠逼com| 亚洲视频一区在线观看| 国内精品写真在线观看| 亚洲免费观看| 亚洲视频精品在线| 欧美一区二区三区视频| 亚洲高清不卡一区| 一区二区欧美在线| 黑人操亚洲美女惩罚| 亚洲日本欧美| 国产在线观看精品一区二区三区| 亚洲大片在线观看| 国产精品亚洲аv天堂网| 欧美高清一区二区| 国产精品欧美日韩久久| 欧美二区不卡| 国产精品一区二区三区乱码| 欧美丰满少妇xxxbbb| 国产精品五月天| 亚洲人成网站在线播| 国产欧美日韩综合一区在线观看| 欧美国产亚洲精品久久久8v| 国产伦精品一区二区三区在线观看| 欧美激情一区二区三区成人| 国产视频一区二区三区在线观看| 亚洲人成亚洲人成在线观看图片| 国产午夜精品视频免费不卡69堂| 亚洲全黄一级网站| 亚洲第一福利视频| 欧美在线黄色| 欧美一区二区在线免费播放| 欧美日韩国产亚洲一区| 欧美激情精品久久久久| 国产一区二区视频在线观看| 亚洲视频在线观看网站| 一区二区三区精品视频在线观看 | 久久精品成人一区二区三区蜜臀| 亚洲女人天堂av| 欧美精品一卡二卡| 欧美成人情趣视频| 在线观看视频一区二区欧美日韩| 亚洲欧美制服中文字幕| 亚洲综合首页| 国产精品久久久久国产a级| 亚洲人成人77777线观看| 亚洲激情在线视频| 老司机精品视频一区二区三区| 久久国产精品黑丝| 国产日韩欧美一区二区| 亚洲主播在线| 欧美一区二区免费视频| 国产精品欧美精品| 亚洲一级特黄| 欧美专区一区二区三区| 国产亚洲美州欧州综合国| 亚洲欧美在线看| 久久国产直播| 在线免费精品视频| 美女国产精品| 亚洲精品极品| 亚洲专区免费| 国产欧美一区二区精品性 | 久久久精品久久久久| 蘑菇福利视频一区播放| 亚洲欧洲一区二区在线播放| 欧美精品aa| 亚洲视频香蕉人妖| 欧美一级专区| 一区二区三区久久| 99视频日韩| 国产精品不卡在线| 午夜精彩视频在线观看不卡| 久久麻豆一区二区| 亚洲精品女人| 国产精品一区在线观看| 久久久一区二区| 亚洲人体1000| 欧美专区中文字幕| 亚洲精品视频啊美女在线直播| 欧美视频网站| 久久久久久久97| 亚洲日本国产| 久久久91精品国产一区二区三区| 在线看视频不卡| 欧美视频专区一二在线观看| 午夜欧美精品久久久久久久| 欧美大色视频| 亚洲女爱视频在线| 91久久国产综合久久91精品网站| 欧美日韩一区不卡| 久久精品夜夜夜夜久久| 日韩亚洲一区在线播放| 久久精品亚洲一区二区| 亚洲精品中文字幕女同| 国产欧美一二三区| 欧美日韩国产在线一区| 午夜精品久久久久久| 亚洲欧洲精品一区二区| 久久精品99国产精品| 一区二区三区 在线观看视| 国产在线观看一区| 国产精品毛片大码女人| 欧美国产另类| 久久精品国产精品亚洲| 亚洲视频一二三| 亚洲国产精品www| 可以看av的网站久久看| 欧美一区二区观看视频| 亚洲一区二区三区在线看| 亚洲国产精品成人va在线观看| 国产欧美日韩综合| 国产精品videosex极品| 欧美日韩国产成人精品| 久久中文在线| 久久久水蜜桃av免费网站|