• <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>
            隨筆 - 15  文章 - 5  trackbacks - 0
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            搜索

            •  

            最新評(píng)論

            • 1.?re: 2011年9月26日[未登錄](méi)
            • 我不是吹噓,為什么1,2,3,4,5,7,9,10,11,12我都知道一點(diǎn)????
              看來(lái)我估計(jì)可以過(guò)電面啊~_~
            • --ZJ
            • 2.?re: 2011年9月26日
            • 有計(jì)劃的人生會(huì)很精彩。。
            • --Cheap glueless lace front wigs
            • 3.?re: 2011年9月26日
            • (14)舉個(gè)例子說(shuō)明你學(xué)習(xí)能力比較強(qiáng),
              牛!

              那個(gè)騰訊就是做QQ的吧,QQ里面還內(nèi)嵌個(gè)木馬,有事沒(méi)事的掃描下用戶磁盤(pán),唉,公司技術(shù)就這鳥(niǎo)水平,還對(duì)應(yīng)聘者提那么多要求。
            • --Chipset
            • 4.?re: 2011年9月26日
            • 問(wèn)這么多問(wèn)題,要求不低啊,呵呵,要回答好需要很扎實(shí)的基礎(chǔ)
            • --LoveBeyond
            • 5.?re: 2011年9月26日
            • 這些問(wèn)題我十有八九答不上來(lái)...慚愧啊
            • --pezy

            閱讀排行榜

            評(píng)論排行榜

            轉(zhuǎn)自:http://www.douban.com/group/topic/14551517/
            中科院大博士是如何進(jìn)行文獻(xiàn)檢索和閱讀的(好習(xí)慣受益終生) 
            一.如何進(jìn)行文獻(xiàn)檢索 
            我是學(xué)自然科學(xué)的,平時(shí)確實(shí)需要不少外文文獻(xiàn),對(duì)于自然科學(xué)來(lái)講英文文獻(xiàn)檢索首推Elsevier,Springer等。雖然這些數(shù)據(jù)庫(kù)里面文獻(xiàn)已經(jīng)不算少了。但是有時(shí)還會(huì)碰到查不到的文獻(xiàn),而這些文獻(xiàn)的數(shù)據(jù)庫(kù)我們所在研究所或大學(xué)又沒(méi)有買(mǎi),怎么辦?我基本通過(guò)以下向個(gè)途徑來(lái)得到文獻(xiàn)。 
            1.首先在Google 學(xué)術(shù)搜索里進(jìn)行搜索,里面一般會(huì)搜出來(lái)你要找的文獻(xiàn),在Google學(xué)術(shù)搜索里通常情況會(huì)出現(xiàn)“每組幾個(gè)”等字樣,然后進(jìn)入后,分別點(diǎn)擊,里面的其中一個(gè)就有可能會(huì)下到全文,當(dāng)然這只是碰運(yùn)氣,不是萬(wàn)能的,因?yàn)槲页3E龅竭@種情況,所以也算是得到全文文獻(xiàn)的一條途徑吧。可以試一下。同時(shí),大家有沒(méi)有發(fā)現(xiàn),從Google學(xué)術(shù)搜索中,還可以得到一些信息,Google學(xué)術(shù)搜索中會(huì)顯示出你搜索文章的引用次數(shù),不過(guò)這個(gè)引用次數(shù)不準(zhǔn)確,但是從側(cè)面反應(yīng)了這篇文章的質(zhì)量,經(jīng)典文章的引用次數(shù)絕對(duì)很高的.同時(shí)如果你用作者進(jìn)行搜索時(shí),會(huì)按引用次數(shù)出現(xiàn)他寫(xiě)的全部的文章,就可以知道作者的哪些文章比較經(jīng)典,在沒(méi)有太多時(shí)間的情況下,就可以只看經(jīng)典的. 
            2.如果上面的方法找不到全文,就把文章作者的名字或者文章的title在Google 里搜索(不是Google 學(xué)術(shù)搜索),用作者的名字來(lái)搜索,是因?yàn)槲野l(fā)現(xiàn)很多國(guó)外作者都喜歡把文章的全文(PDF)直接掛在網(wǎng)上,一般情況下他們會(huì)把自己的文章掛在自己的個(gè)人主頁(yè)(home page)上,這樣可能也是為了讓別的研究者更加了解自己的學(xué)術(shù)領(lǐng)域,順便推銷(xiāo)自己吧。這樣你就有可能下到你想要的文獻(xiàn)的全文了。甚至可以下到那個(gè)作者相近的內(nèi)容的其它文章。如果文獻(xiàn)是由多個(gè)作者寫(xiě)的,第一作者查不到個(gè)人主頁(yè),就接上面的方法查第二作者,以此類推。用文章的title來(lái)搜索,是因?yàn)樵趪?guó)外有的網(wǎng)站上,例如有的國(guó)外大學(xué)的圖書(shū)館可能會(huì)把本校一年或近幾年的學(xué)術(shù)成果的Publication的PDF全文獻(xiàn)掛在網(wǎng)上,或者在這個(gè)大學(xué)的ftp上也有可能會(huì)有這樣類似的全文.這樣就很可能會(huì)免費(fèi)下到你想要的全文了. 
            3.如果上面兩個(gè)方法都沒(méi)有查到你要的文獻(xiàn),那你就直接寫(xiě)郵件向作者要。一般情況下作者都喜歡把自己的文獻(xiàn)給別人,因?yàn)樗堰@些文獻(xiàn)給別人,也相當(dāng)于在傳播他自己的學(xué)術(shù)思想。下面是本人向老外作者要文獻(xiàn)的一個(gè)常用的模板: 
            Dear Professor ××× 
            I am in ××× Institute of ×××, Chinese Academy of Sciences. I am writing to request your assistance. I search one of your papers: 

            。。。。。。。。。。。。。。。。。(你的文獻(xiàn)題目) 

            but I can not read full-text content, would you mind sending your papers by E-mail? Thank you for your assistance. 
            Best wishes !(or best regards) 

            ××× 

            本人的經(jīng)驗(yàn)是講英語(yǔ)的國(guó)家的作者給文章的機(jī)率會(huì)大,一般你要就會(huì)給,其它不講英語(yǔ)的國(guó)家,如德國(guó),法國(guó),日本等國(guó)家的作者可能不會(huì)給。出于禮貌,如果你要的文獻(xiàn)作者E-mail給你了,千萬(wàn)別忘記回信致謝. 
            4.最后一種方法其實(shí)大家都熟悉,就是發(fā)貼在小木蟲(chóng)上求助。我還用另一種方法,就是直接讓我所在的研究所圖書(shū)館的管理員幫我從外面的圖書(shū)館文獻(xiàn)傳遞。不過(guò)有的文獻(xiàn)可能是要錢(qián)的。一頁(yè)0.3元,由于我們看文獻(xiàn)的錢(qián)都是由課題出,所以也就不太考慮錢(qián)的問(wèn)題了。 

            二.如何快速而準(zhǔn)確地獲得最新的科研信息. 

            如何快速準(zhǔn)確地從浩如煙海的信息海洋中獲取所需的信息,并學(xué)會(huì)分析、利用信息資源已經(jīng)成為人們立足于信息社會(huì)的一個(gè)重要技能.提高自己在當(dāng)今復(fù)雜的信息世界中準(zhǔn)確、快速地獲取信息的能力,對(duì)我們科研人員是至關(guān)重要的.我們要時(shí)時(shí)刻刻了解最新的科研成果,最主要的途徑還是要了解最新的科研文獻(xiàn),但是對(duì)于我們常用的數(shù)據(jù)庫(kù),我們又不可能每天都去訪問(wèn)一次數(shù)據(jù)庫(kù)來(lái)查看是否有最新的文獻(xiàn)出來(lái),而對(duì)于許多國(guó)外的數(shù)據(jù)庫(kù).文章的出版效率非常高,有的是每周出幾篇新的文章,有的是每半月出一次,還有一月出一次的,所以大家發(fā)現(xiàn)很難有精力保持每天都去瀏覽數(shù)據(jù)庫(kù).但是大家有沒(méi)有發(fā)現(xiàn),國(guó)外的數(shù)據(jù)庫(kù)有個(gè)很好的服務(wù)功能就是如果你在其數(shù)據(jù)庫(kù)的網(wǎng)站上注冊(cè)了郵箱,數(shù)據(jù)庫(kù)就會(huì)自動(dòng)在每期有新的文章出來(lái)時(shí)把文章的內(nèi)容及鏈接發(fā)到你的郵箱里,直接通知你.這樣就對(duì)我們獲取到最新的信息提供了方便.以Elsevier為例,在數(shù)據(jù)庫(kù)網(wǎng)站上有"Alerts"點(diǎn)點(diǎn)擊進(jìn)入,要求你輸入"User Name"和"Password",這是對(duì)已經(jīng)注冊(cè)了郵箱的人進(jìn)行的.如果你還沒(méi)有注冊(cè),同樣會(huì)看到右邊有一行英語(yǔ)"If not, Register Now. It's FREE and allows you to"這時(shí)點(diǎn)擊右邊的"Register Now",就可以進(jìn)入進(jìn)行注冊(cè),選擇你要求的期刊以及你所研究的領(lǐng)域等等,當(dāng)然還要填好你接受郵件的郵箱,注冊(cè)成功后,以后就可以收到最新的文獻(xiàn)了,同時(shí)你可以隨時(shí)修改你的接受郵件的郵箱.不僅是象Elsevier這樣的數(shù)據(jù)庫(kù)有這個(gè)功能.幾呼所有的外文數(shù)據(jù)庫(kù)都有"Email-Alert"這一功能.大家可以試試. 

            三.如何進(jìn)行文獻(xiàn)閱讀 

            其實(shí)做科研,不看文獻(xiàn)要做好科研,可以說(shuō)一點(diǎn)可能都沒(méi)有。只有廣看論文,深入學(xué)習(xí),才能厚積薄發(fā),寫(xiě)出響當(dāng)當(dāng)?shù)奈恼鲁鰜?lái)。讀文獻(xiàn)一定不要心浮氣躁,或者就是想著混個(gè)畢業(yè)。相反我們要沉下心來(lái),大量閱讀文獻(xiàn),在讀的過(guò)程中有的文獻(xiàn)看懂了,但是看不懂的文獻(xiàn)也可能會(huì)居多。看懂的認(rèn)真學(xué)習(xí)借鑒,看不懂的 深入探索,實(shí)在不行就暫時(shí)放下,過(guò)一段時(shí)間,隨著知識(shí)和能力的提高慢慢也就弄明白了一些。即使還是看不懂,但是心里知道有那么回事,為將來(lái)的繼續(xù)深造做了鋪墊。另外千萬(wàn)不要只是為看文獻(xiàn)而看文獻(xiàn),我們看的目的是為了能為我們自己的科研所用,所以看的過(guò)程中一定要和你自己的數(shù)據(jù)相結(jié)合,當(dāng)看完一篇文獻(xiàn)后,要好好總結(jié),如果用自己的數(shù)據(jù),又該怎么樣解釋。還有一些牛刊物上的文章,不但要學(xué)習(xí)文章里面的知識(shí),還要學(xué)習(xí)牛人寫(xiě)文章的文風(fēng)。好的文章肯定會(huì)有好的文風(fēng),這些都是我們將來(lái)寫(xiě)文章要學(xué)習(xí)的。 
            另外相信很多搞科研的同行會(huì)有個(gè)感覺(jué),就是看過(guò)的文獻(xiàn),如果只是做做標(biāo)記,劃下劃線,還是很容易忘記,過(guò)段時(shí)間要查詢起來(lái)也費(fèi)事。尤其是看過(guò)的文獻(xiàn)有幾百,上千篇時(shí),雖然可以歸類整理,但效果還是不好。 
            我建議大家邊看一篇文獻(xiàn)時(shí),邊打開(kāi)word文檔,邊整理文章出彩和重要的部分,然后復(fù)制過(guò)去,標(biāo)上文獻(xiàn)的標(biāo)題和作者等相關(guān)信息,把每一類文獻(xiàn)歸為一組。 方法操作簡(jiǎn)單,將來(lái)要查詢和反復(fù)的時(shí)候會(huì)有很大幫助,尤其在寫(xiě)文章時(shí),相關(guān)文獻(xiàn)及其亮點(diǎn)都一目了然。這個(gè)方法積累久了,對(duì)提升寫(xiě)作和閱讀都有很大幫助,除了這樣,我還有時(shí)把一些很經(jīng)典的段落或都語(yǔ)句翻譯成中文,專門(mén)整理在一個(gè)本本上,這樣不但在以后寫(xiě)文章時(shí)直接拿出來(lái)看,省事省時(shí)間,還能錘煉英漢互譯的能力,很有利于以后你和老外交流時(shí)的口語(yǔ)表達(dá)。 

            最后,請(qǐng)大家始終記住,我們查文獻(xiàn)都是為了科研,千萬(wàn)不要只查不看,費(fèi)了那么大勁查到了就一定要看完.就算是你大概的看了一下也是有用的.同樣對(duì)科學(xué)問(wèn)題要辯證的看待,文獻(xiàn)上別人的觀點(diǎn)也只是一家之言,而且不要迷信權(quán)威. 

            “ 科學(xué)本身是人類的一種實(shí)踐。科學(xué)研究是一個(gè)思考過(guò)程。科學(xué)行動(dòng)則是推行某種思考過(guò)程的活動(dòng),其目的是為了檢驗(yàn)這些思考過(guò)程的有效性,進(jìn)而修正和改善這些思考過(guò)程,以期達(dá)到最高的認(rèn)識(shí)。像一切科學(xué)實(shí)踐一樣,科學(xué)的判斷力取決于個(gè)人的經(jīng)驗(yàn)、信仰和情緒。 我們中間的許多人,或者說(shuō)我們?nèi)w,在我們的專業(yè)經(jīng)歷中,都犯過(guò)這樣或那樣的錯(cuò)誤。科學(xué)工作者應(yīng)當(dāng)有虛懷若谷的精神,敢于摒棄先入之見(jiàn),敢于擺脫對(duì)錯(cuò)誤思想感情上的依附. 









            NO.2 

            這是一位出國(guó)留學(xué)博士生的學(xué)習(xí)體會(huì),放到師生互動(dòng)欄目里與大家交流、分享。 

            這是我受網(wǎng)上一篇文章的啟發(fā)并結(jié)合我們專業(yè)的特點(diǎn),寫(xiě)的一點(diǎn)個(gè)人體會(huì),希望對(duì)大家有所裨益。 

            要在高起點(diǎn)上開(kāi)展學(xué)術(shù)研究,閱讀英文原文是不可或缺的環(huán)節(jié)。英文文獻(xiàn)閱讀的重要性不需贅述,國(guó)內(nèi)多數(shù)理工科院校的研究已經(jīng)實(shí)現(xiàn)了和國(guó)際的接軌,管理和經(jīng)濟(jì)學(xué)科相對(duì)滯后,但是部分團(tuán)隊(duì)已經(jīng)走在前列。 

            中文文獻(xiàn)看多了之后就會(huì)發(fā)現(xiàn)很多內(nèi)容似曾相識(shí),英文文獻(xiàn)在內(nèi)容的廣度和深度方面更勝一籌。閱讀英文文獻(xiàn)的目的不是為了論文增加幾個(gè)參考文獻(xiàn)而看上去好看,當(dāng)然國(guó)內(nèi)有些人是這么做的,更有甚者為了增加英文參考文獻(xiàn)而引用二手或者三手文獻(xiàn),在轉(zhuǎn)引過(guò)程中漏洞百出。廣泛閱讀英文文獻(xiàn)是提高綜合能力及水平,優(yōu)化知識(shí)結(jié)構(gòu),轉(zhuǎn)換思維方式,拓展研究視野的必由之路,當(dāng)然最重要的是將國(guó)際先進(jìn)和中國(guó)實(shí)際相結(jié)合。 

            (1)英文原文讀不懂怎么辦? 

            其實(shí)我以前也根本沒(méi)讀過(guò)原文,也看不懂。這兒有個(gè)好辦法:找一本中文經(jīng)典的書(shū)籍,僅看某一節(jié)你感興趣或與你相關(guān)的內(nèi)容,然后先找一兩篇英文的綜述(review)認(rèn)真閱讀一下,不會(huì)的單詞可用金山詞霸查一查,也許你讀第一篇文章需要花兩天,你過(guò)兩天再讀第2遍時(shí),你也許只要一天;然后你再讀第2篇時(shí)也許你只要半天!然后你一定會(huì)真正發(fā)現(xiàn)讀英文文獻(xiàn)的快感!(引用部分) 

            我和這位作者有相同的體會(huì),剛開(kāi)始閱讀的時(shí)候可能有些困難,當(dāng)你經(jīng)過(guò)一個(gè)時(shí)期的訓(xùn)練之后,就會(huì)很快進(jìn)入狀態(tài),并且感覺(jué)受益良多。 

            (2)我們需要閱讀什么樣的文獻(xiàn)? 

            雖然英文文獻(xiàn)總體上水平比較高,但并不是所有的文獻(xiàn)都值得閱讀,閱讀文獻(xiàn)的前提是能夠檢索到對(duì)你有價(jià)值的文獻(xiàn)。第一步知道如何檢索文獻(xiàn),現(xiàn)在學(xué)校的英文數(shù)據(jù)庫(kù)平臺(tái)很多,可以嘗試檢索和合理利用。當(dāng)然機(jī)器檢索不能完全找到和主題相關(guān)的文章,需要擴(kuò)大檢索范圍,然后認(rèn)真閱讀摘要,篩選和自己工作相關(guān)的文獻(xiàn)。第二步知道如何確定文章的價(jià)值,這和中文文獻(xiàn)閱讀具有相似之處,首先是重要期刊的文章,其次是著名學(xué)者的文章。例如在國(guó)家創(chuàng)新體系領(lǐng)域,Lundvall\Freeman\Nalson\OECD\Porter等這些重要的作者和機(jī)構(gòu)的文獻(xiàn)是必讀的,不僅要精讀他們的經(jīng)典文獻(xiàn),而且要追蹤其最新研究成果,包括工作論文、討論稿等。通過(guò)對(duì)重要作者的研究和經(jīng)典文獻(xiàn)的閱讀能給你打開(kāi)一扇門(mén),讓你進(jìn)入一個(gè)由核心作者、相關(guān)作者、主要期刊和主要研究機(jī)構(gòu)形成的學(xué)術(shù)網(wǎng)絡(luò)。 

            (3)閱讀英文文獻(xiàn)需要持之以恒 

            英文文獻(xiàn)的閱讀需要持之以恒。不只是為了寫(xiě)文章或者做項(xiàng)目才去檢索和閱讀文獻(xiàn),而是需要貫穿于研究生學(xué)習(xí)的全過(guò)程。這是選題和把握前沿領(lǐng)域的重要途徑,同時(shí)也可以提高自己的英文閱讀能力。當(dāng)然,文獻(xiàn)閱讀的效果不會(huì)在短期內(nèi)顯現(xiàn)出來(lái),不能說(shuō)讀了幾篇英文文獻(xiàn)就怎么樣,但是當(dāng)你把英文文獻(xiàn)作為主要閱讀對(duì)象時(shí),可能會(huì)漸漸發(fā)生變化。 

            有些中文文獻(xiàn)存在不足之處,例如,數(shù)據(jù)可靠性差、觀點(diǎn)(判斷)不可檢驗(yàn);方法運(yùn)用存在缺陷;文獻(xiàn)綜述不全面等。對(duì)于多數(shù)社會(huì)科學(xué)而言我們最終還是要研究中國(guó)問(wèn)題,中文文獻(xiàn)是入門(mén)的基礎(chǔ),國(guó)內(nèi)重要期刊的文章仍然需要有一個(gè)全面的了解。 



            如果平時(shí)讀得多了,自然會(huì)有感覺(jué),找更高級(jí)別雜志的文章讀。國(guó)外著名的科學(xué)家一般都有一個(gè)習(xí)慣,即每周都認(rèn)真讀1-2篇Science, Nature, Cell等高級(jí)別文章。這個(gè)習(xí)慣希望每個(gè)人都能保持!而且Science對(duì)中國(guó)人是免費(fèi)的!Nature中也有許多內(nèi)容是免費(fèi)的,即使沒(méi)有密碼之類,也能得到大量有用的信息呀。臨床的同志一定要讀讀The lancet和新英格蘭雜志!這兩本簡(jiǎn)直太經(jīng)典了! 




            NO.3 

            如何閱讀外文文獻(xiàn)? 

            本人是學(xué)經(jīng)濟(jì)的.看了大量的外文文獻(xiàn).開(kāi)始時(shí)也覺(jué)得效率低,不是單詞不認(rèn)識(shí),而是看了后面忘了前面.后來(lái)摸索出了一些方法,和大家共享. 
            三步驟: 
            首先,通讀各個(gè)小標(biāo)題.通常英文文獻(xiàn)都很長(zhǎng).拿來(lái)文獻(xiàn),先把各個(gè)小標(biāo)題串一串.弄清楚內(nèi)在的聯(lián)系. 
            其次,跳進(jìn)去讀各個(gè)小標(biāo)題內(nèi)的內(nèi)容.標(biāo)注是必不可少的,就是在必要的段落標(biāo)示出作者的觀點(diǎn).這是為了第三步做準(zhǔn)備. 
            最后,跳出來(lái),再把全文串一遍.根據(jù)做好的標(biāo)示做好閱讀摘要. 
            這樣就完成了. 



            【轉(zhuǎn)帖:讀外文文獻(xiàn)的一點(diǎn)體會(huì)】 

            PS:一直不會(huì)看外文文獻(xiàn),學(xué)學(xué)人家。 
            本人英語(yǔ)基礎(chǔ)不好,沒(méi)過(guò)六級(jí),所以在碩士的時(shí)候基本上看的外文文獻(xiàn)很少,現(xiàn)在想想很后悔,2年的時(shí)間少學(xué)了很多東西。上了博士,自己給自己的定位也高一些了,開(kāi)始打算硬著頭皮咬著牙很不情愿的也要多看些外文文獻(xiàn),一開(kāi)始看比較慢,有些很難理解,到現(xiàn)在大約仔細(xì)閱讀了100篇外文文獻(xiàn),泛讀了100篇外文文章,受益匪淺,現(xiàn)在基本不怎么看中文的了,確實(shí)也覺(jué)得外文的質(zhì)量就是高(也有湊數(shù)的爛文章),現(xiàn)在自己寫(xiě)外文的也很順手了。談幾點(diǎn)自己的體會(huì)。 
            1.先找5篇跟自己論文最相關(guān)的外文文章,花一個(gè)月的時(shí)間認(rèn)認(rèn)真真的看,反復(fù)看,要求全部讀懂,不懂的地方可以和同學(xué)和老師交流一下。一個(gè)月以后你已經(jīng)上路了。 
            2.如何讀標(biāo)題:不要忽視一篇論文的標(biāo)題,看完標(biāo)題以后想想要是讓你寫(xiě)你怎么用一句話來(lái)表達(dá)這個(gè)標(biāo)題,根據(jù)標(biāo)題推測(cè)一下作者論文可能是什么內(nèi)容。有時(shí)候一句比較長(zhǎng)的標(biāo)題讓你寫(xiě),你可能還不會(huì)表達(dá)。下次你寫(xiě)的時(shí)候就可以借鑒了 
            3.如何讀摘要:快速瀏覽一遍,這里主要介紹這篇文章做了些什么。也許初看起來(lái)不好理解,看不懂,這時(shí)候不要?dú)怵H,不管它往下看,等你看完這篇文章的時(shí)候也許你都明白了。因?yàn)檎獙?xiě)的很簡(jiǎn)潔,省略了很多前提和條件,在你第一眼看到摘要而不明白作者意圖的時(shí)候看不懂是正常的。 
            4.如何讀引言(前言):當(dāng)你了解了你的研究領(lǐng)域的一些情況,看引言應(yīng)該是一件很容易的事情了,都是介紹性的東西,寫(xiě)的應(yīng)該都差不多,所以看文獻(xiàn)多了以后看這部分的內(nèi)容就很快了,一掃而過(guò)。有些老外寫(xiě)得很經(jīng)典得句子要記下了,下次你寫(xiě)就可以用了。 
            5.如何讀材料及試驗(yàn):當(dāng)你文獻(xiàn)看多了以后,這部分內(nèi)容也很簡(jiǎn)單了,無(wú)非就是介紹試驗(yàn)方法,自己怎么做試驗(yàn)的。很快就能把它看完了吧 
            6.如何看試驗(yàn)結(jié)果:看結(jié)果這部分一定要結(jié)合結(jié)果中的圖和表看,這樣看的快。主要看懂試驗(yàn)的結(jié)果,體會(huì)作者的表達(dá)方法(例如作者用不同的句子結(jié)構(gòu)描述一些數(shù)字的結(jié)果)。有時(shí)看完以后再想想:就這么一點(diǎn)結(jié)果,別人居然可以大篇幅的寫(xiě)這么多,要是我可能半頁(yè)就說(shuō)完了? 
            7.如何看分析與討論:這是一篇文章的重點(diǎn),也是最花時(shí)間的。我一般把前面部分看完以后不急于看分析討論。我會(huì)想要是我做出來(lái)這些結(jié)果我會(huì)怎么來(lái)寫(xiě)這部分分析與討論呢?然后慢慢看作者的分析與討論,仔細(xì)體會(huì)作者觀點(diǎn),為我所用。當(dāng)然有時(shí)候別人的觀點(diǎn)比較新,分析比較深刻,偶爾看不懂也是情理之中。當(dāng)你看的多了,你肯定會(huì)看的越來(lái)越懂,自己的idea越來(lái)越多 
            8.如何看結(jié)論:這個(gè)時(shí)候看結(jié)論就一目了然了,作后再反過(guò)去看看摘要,其實(shí)差不多 
            9.把下載的論文打印出來(lái),根據(jù)與自己課題的相關(guān)性分三類,一類要精讀,二類要泛讀,三類要選擇性的讀。分別裝訂在一起 
            10.看完的文獻(xiàn)千萬(wàn)不要丟在一邊不管,3-4個(gè)月一定要溫習(xí)一遍,可以根據(jù)需要,對(duì)比自己的試驗(yàn)結(jié)果來(lái)看 
            11.學(xué)會(huì)記筆記,重要的結(jié)論,經(jīng)典的句子,精巧的試驗(yàn)方案一定要記下來(lái),供參考和學(xué)習(xí) 
            12.有些試驗(yàn)方法相同,結(jié)論不同的文獻(xiàn),可以批判性的閱讀。我想要是你自己做試驗(yàn)多的話,你應(yīng)該有這個(gè)能力判斷誰(shuí)的更對(duì)一點(diǎn)。出現(xiàn)試驗(yàn)方法相同,結(jié)論不同的原因有下:試驗(yàn)方法描述不詳細(xì),可能方法有差別;試驗(yàn)條件不一樣;某些作者夸大結(jié)果,瞎編數(shù)據(jù) 
            13.有時(shí)間還是多看點(diǎn)文獻(xiàn)吧,最好定個(gè)目標(biāo):在學(xué)術(shù)上超過(guò)自己的老板。因?yàn)槔习逡话悴豢次墨I(xiàn),他們都是憑經(jīng)驗(yàn)做事,很多新東西他們都不知道,慢慢的你老板會(huì)覺(jué)得你很厲害。 
            反正我覺(jué)得多讀了,讀起來(lái)就快了,而且也會(huì)慢慢喜歡上看外文文獻(xiàn),收獲自然也就多了。 
            可能寫(xiě)得有點(diǎn)亂,湊合看吧,我們一起奮斗!!! 
            posted @ 2012-05-21 21:16 mengkai 閱讀(336) | 評(píng)論 (0)編輯 收藏
                 摘要: 源地址:http://blog.csdn.net/v_july_v/article/details/7577684http://blog.csdn.net/v_july_v/article/details/6142146 數(shù)據(jù)挖掘領(lǐng)域十大經(jīng)典算法初探     第一篇:從決策樹(shù)學(xué)習(xí)談到貝葉斯分類算法、EM、HMM 引言     最近在面...  閱讀全文
            posted @ 2012-05-21 20:14 mengkai 閱讀(724) | 評(píng)論 (0)編輯 收藏


            最近在學(xué)opencv,先用vc6.0+opencv1.0,可以根據(jù)opencv論壇上的步驟配置完成,下面記錄了配置過(guò)程。


            下面是介紹如何安裝opencv1.0

            1 下載OpenCv1.0,可以在這里下載:http://www.opencv.org.cn/download/OpenCV_1.0.exe

            2  安裝OpenCv1.0,可以安裝在D:\opencv1.0\OpenCV(用戶可以自己選擇),
            3  在安裝是勾選Add\OpenCV\bin to the systerm PATH(將\OpenCV\bin加入系統(tǒng)變量)
            4  添加環(huán)境變量,右擊我的電腦,選擇屬性,點(diǎn)擊高級(jí)選項(xiàng)卡,點(diǎn)擊環(huán)境變量,在用戶變量下找到path(沒(méi)有的話新建),點(diǎn)擊編輯,在變量值的最后添加   D:\opencv1.0\OpenCV\bin,然后點(diǎn)擊確定,重啟電腦。
            5  下載cxcore100.dll文件,可在以下網(wǎng)站下載:http://www.codefans.net/dll/download.php?id=1425&type=wj

                  然后將文件cxcore100.dll以及安裝目錄D:\opencv1.0\OpenCV\bin下的highgui100.dll,libguide40.dll拷貝到C:\WINDOWS\system32目錄下。


            下面就是介紹vc6.0下配置opencv1.0
            一 在VC編譯器下,在Project菜單下選擇setting,彈出對(duì)話框。

               1  設(shè)置預(yù)編譯的頭文件

            選擇C/C++ 【Category】,在下拉菜單中選擇Preprocessor,然后在Additional Include directories  中輸入以下幾項(xiàng):

            C:\Program Files \OpenCV\cv\include  (根據(jù)本人機(jī)器上OpenCV的安裝路徑進(jìn)行設(shè)置,如在D盤(pán),則寫(xiě)D: ,以下同)

            C:\Program Files \OpenCV\otherlibs\highgui

            C:\Program Files \OpenCV\cxcore\include(新版本需要)

            C:\Program Files \OpenCV\otherlibs\cvcam\include

            每一條之間用逗號(hào)隔開(kāi)。其中C:\Program Files\Intel\opencv 為OpenCV的安裝路徑,這是通用的安裝路徑,建議最好采用這種設(shè)置,以方便大家交流;不然,每次都要重新設(shè)置路徑,比較麻煩。

            2   設(shè)置鏈接庫(kù)

            在 Link按鍵下的 Category下拉菜單中選擇 Input選項(xiàng)(指定要連接的庫(kù)文件,放棄連接的庫(kù)文件hao  ),在Additional library path中,輸入:

            C:\Program Files \OpenCV\lib

            最后在 Setting For下拉菜單中依次選擇 Win32 Debug和 Win32 Release,分別在Object /library modules 輸入:

            cv.lib highgui .lib cxcore.lib cvcam.lib

            注意每個(gè)庫(kù)之間用一個(gè)空格隔開(kāi)。

            或者直接在all configurations中的Object /library modules 輸入:cv.lib highgui.lib cxcore.lib(新版本需要) cvcam.lib

            (cxcore.lib highgui.lib 是幾乎所有OpenCV程序都要用到的函數(shù)庫(kù),分別封裝了基本的函數(shù)和圖形界面接口,cv.lib中封裝了大量的圖像處理函數(shù),cvcam.lib中封裝了很多針對(duì)視頻流的處理函數(shù))

            當(dāng)前工程就可以使用OpenCV的函數(shù)了。

            二 如果一直要使用OpenCV的函數(shù),把其路徑設(shè)置到系統(tǒng)目錄下

            在Tools 菜單下選擇 Options 子菜單,在彈出的對(duì)話框中選擇Directory,將用到的幾個(gè)庫(kù)的路徑添加進(jìn)去。以后只需將所用的庫(kù)在Object /library modules下輸入就可以了,不用再每次指定路徑。

            在Show directories for 下拉菜單中選擇Include files,輸入:

            C:\Program Files \OpenCV\cv\include

            C:\Program Files \OpenCV\otherlibs\highgui

            C:\Program Files \OpenCV\cxcore\include(新版本需要)

            C:\Program Files \OpenCV\otherlibs\cvcam\include

            在Show directories for 下拉菜單中選擇Library files,輸入:

            C:\Program Files \OpenCV\lib

            注意:(防止每次都拷貝.dll文件)


            • 安裝OpenCv是一定要勾選Add\OpenCV\bin to the systerm PATH

            • 配置VC6.0時(shí)要選擇用戶自己的OpenCv安裝路徑。

            • 編寫(xiě)OpenCv程序時(shí),要手動(dòng)添加lib文件,否則編譯不會(huì)通過(guò)。


            posted @ 2012-03-03 21:02 mengkai 閱讀(4100) | 評(píng)論 (0)編輯 收藏
            回來(lái)已經(jīng)不知不覺(jué)一個(gè)月了,但是根本沒(méi)有找到感覺(jué),自我定位還是不明確,所以需要寫(xiě)點(diǎn)計(jì)劃

            在網(wǎng)上看到很多人都寫(xiě)了自己的學(xué)期計(jì)劃,大多目標(biāo)都很明確。我剛開(kāi)學(xué)的時(shí)候思想的很浮動(dòng),混亂了一段時(shí)間,做很多事情效率都很低。到現(xiàn)在已經(jīng)過(guò)去四周的時(shí)間了,經(jīng)過(guò)一些思考,基本上也有了一套學(xué)習(xí)計(jì)劃。

            第一是英語(yǔ),以前的我沒(méi)有重視英語(yǔ)真是一個(gè)大大的錯(cuò)誤,雖然不是很喜歡,但是每天還是要花些時(shí)間學(xué)習(xí),畢竟六級(jí)還沒(méi)有過(guò)去,雖然聽(tīng)說(shuō)比考試更重要,但是還得需要一個(gè)成績(jī)來(lái)證明這些成果。
            第二是算法,為以后的就業(yè)和找工作做好鋪墊。要多看一些算法的書(shū)籍,來(lái)加強(qiáng)自己在算法方面的不足,數(shù)據(jù)結(jié)構(gòu)更要努力。有機(jī)會(huì)一定多讀讀算法導(dǎo)論這邊書(shū)。
            第三是操作系統(tǒng),順便需要看看匯編,現(xiàn)在感覺(jué)操作系統(tǒng)和匯編有著緊密的聯(lián)系,而且對(duì)編程有著事半功倍的效果,需要仔細(xì)看看。
            第四是計(jì)算機(jī)組成原理,需要鞏固這方面的知識(shí),此外需要深入計(jì)算機(jī)體系結(jié)構(gòu)這邊書(shū),是相當(dāng)?shù)慕?jīng)典,需要慢慢的去琢磨。

            第四是linux,這方面比較欠缺,所以需要下點(diǎn)功夫。

            第五是windows編程以及畢業(yè)設(shè)計(jì)相關(guān)的東西opencv,網(wǎng)絡(luò)編程博大精深,需要慢慢的去研究,目標(biāo)跟蹤是我選的題目需要搭起框架,在目標(biāo)跟蹤算法進(jìn)一步作出選擇和改進(jìn)。
            我沒(méi)有想好去大公司還是剛起步的小公司,只是努力把自己的基礎(chǔ)搞好,希望入職的時(shí)候可以有一個(gè)好的薪水,能夠未來(lái)能養(yǎng)活自己的家庭老婆。

            posted @ 2012-03-03 20:54 mengkai| 編輯 收藏
            對(duì)于斐波那契數(shù)列的求解過(guò)程的幾種方法的比較
            (1)最基本的方法:遞歸實(shí)現(xiàn),使用公式為f[n] = f[n-1] + f[n-2];遞歸

            結(jié)束條件是f[1]=1,f[2]=1。
            (2)數(shù)組實(shí)現(xiàn):空間復(fù)雜度和時(shí)間復(fù)雜度都是O(N),效率一般,比遞歸來(lái)

            的快。
            (3)vector<int>實(shí)現(xiàn),時(shí)間復(fù)雜度是O(N),空間復(fù)雜度O(1),但是不知道

            效率會(huì)高不高,當(dāng)然vector有自己的屬性會(huì)占用資源。
            (4)queue<int>實(shí)現(xiàn),當(dāng)然隊(duì)列數(shù)組更適合實(shí)現(xiàn)斐波那契數(shù)列,時(shí)間復(fù)雜度

            和空間復(fù)雜度和vector一樣。但是queue太合適這里了,
            f(n)=f(n-1)+f(n-2),f(n)只和f(n-1)和f(n-2)有關(guān),f(n)入隊(duì)列后,f(n-

            2)就可以出隊(duì)列了。
            (5)迭代實(shí)現(xiàn):迭代效率最高,時(shí)間復(fù)雜度是O(N),空間復(fù)雜度是O(1),
            (6)百度的提供的一種公式法。   由于double類型的精度還不夠,所以程

            序算出來(lái)的結(jié)果會(huì)有誤差,如果把公式展開(kāi)計(jì)算,得出的結(jié)果就是正確的。

            具體代碼如下:
            //遞歸
            int fib1(int num)
            {
            if(num<1)
            return  -1;
            if(num == 1 || num == 2)
            return 1;
            return f(n-1)+f(n-2);
            }

            //數(shù)組實(shí)現(xiàn)
            int fib2(int num)
            {
            if(num<1)
            return  -1;
            if(num<3)
            {
            return 1;
            }
            int *a = new int[num];
            a[0] = a[1] = 1;
            for(int i = 2;i<num;i++)
            a[i] = a[i-1] + a[i-2];
            int ret = a[num-1];
            delete[] a;
            return ret;
            }

            //vector<int>
            int fib3(int num)
            {
            if(num<1)
            return  -1;
            vector<int>a(2,1);
            a.reserve(3);
            for(int i = 2;i<num;i++)
            {
            a.insert(a.begin(),a.at(0)+a.at(1));
            a.pop_back();
            }
            return a.at(0);
            }

            //queue<int>實(shí)現(xiàn)
            int fib4(int num)
            {
            if(num<1)
            return  -1;
            queue<int>q;
            q.push(1);
            q.push(1);
            for(int i = 2;i<num;i++)
            {
            q.push(q.front()+q.back());
            q.pop();
            }
            return q.pop();
            }

            //迭代實(shí)現(xiàn)
            int fib5(int num)
            {
            int i,a=1,b = 1,c = 1;
            if(num<1)
            return  -1;
            for(i = 2;i<num;i++)
            {
            c= a + b;
            a = b;
            b = c;
            }
            return c;
            }


            //公式實(shí)現(xiàn)
            int fib6(int num)
            {
            double gh = sqrt((double)5);
            return pow(1+(1+gh),n-pow(1-gh))/(pow((double)2,n)*gh);
            }
            posted @ 2011-10-26 17:46 mengkai 閱讀(904) | 評(píng)論 (0)編輯 收藏
            遞歸算法:基本含義,一個(gè)函數(shù)或者數(shù)學(xué)結(jié)構(gòu),如果在其定義或說(shuō)明內(nèi)部直接或間接得出現(xiàn)對(duì)其本身的引用,或者是為了描述問(wèn)題的某一個(gè)狀態(tài),必須要用它的上一個(gè)狀態(tài),而描述上一個(gè)狀態(tài),又必須用到它的上一個(gè)狀態(tài),這種定義,稱為遞歸或遞歸定義。在程序設(shè)計(jì)上,當(dāng)函數(shù)直接調(diào)用本身或者間接調(diào)用本身,稱為遞歸調(diào)用。
            遞歸的最簡(jiǎn)單應(yīng)用:通過(guò)各項(xiàng)關(guān)系及初值求數(shù)列的某一項(xiàng)。
            (1)

            比如階乘數(shù)列

            12624120720……

            如果用上面的方式來(lái)描述它,應(yīng)該是:

            ,程序?qū)崿F(xiàn)
            int fun(int x)
            {
               if(x == 1)
               return 1;
               return n*fun(n-1);
            }
            (2)找出組合數(shù)
            找出從自然數(shù)1、2、……、n中任取r個(gè)數(shù)的所有組合。例如n=5,r=3的所有組合為:   

                  (1)5、4、3     (2)5、4、2     (3)5、4、1 
                  (4)5、3、2     (5)5、3、1     (6)5、2、1 
                  (7)4、3、2     (8)4、3、1     (9)4、2、1 
                  (10)3、2、1 
            如何實(shí)現(xiàn)呢?
            首先分析10個(gè)組合,我們可以采用遞歸來(lái)實(shí)現(xiàn),假設(shè)函數(shù)為combo(int m,int n);為找到自然數(shù)1-m中任取K個(gè)數(shù)組合,當(dāng)?shù)谝粋€(gè)數(shù)選定后,后面的k-1個(gè)數(shù)是從m-1各數(shù)中選擇得到。我們發(fā)現(xiàn)這將是將m選k個(gè)數(shù)轉(zhuǎn)換為m-1個(gè)數(shù)中選k-1個(gè)數(shù)的組合數(shù)。為了解決此問(wèn)題,我們可以定義個(gè)數(shù)組A,數(shù)組的第一個(gè)元素為k,約定函數(shù)將確定的k個(gè)數(shù)字的組合第一個(gè)數(shù)放在A[k]中,當(dāng)一個(gè)組合求出后,才將數(shù)組A的一個(gè)組合輸出,第一個(gè)數(shù)可以是m-k,函數(shù)將確定組合的第一個(gè)數(shù)放入數(shù)組后,有兩種可能的選擇,因還未到頂組合的其余元素,繼續(xù)遞歸確定,或因一確定了組合的全部元素,輸出這個(gè)組合,
            具體代碼:
            //遞歸求解組合數(shù)
            #define  MAX 100
            int a[MAX];
            void combo(int m,int k)
            {
             int i,j;
             for (i = m;i>=k;i--)
             {
              a[k] = i;
              if (k>1)
              {
               comb(m-1,k-1);
              }
              else
              {
               for (j = a[0];j>0;j--)
               {
                printf("%4d",a[j]);
               }
               printf("\n");
              }
             }
            }

            更多的練習(xí),

            前幾天在博客園看到有人面試時(shí),遇到遞歸算法題,一時(shí)手癢就解了一個(gè)。順便網(wǎng)上又找來(lái)幾個(gè),也實(shí)現(xiàn)了。給大家分享一下,開(kāi)闊一下思路,沒(méi)準(zhǔn)你明天面試就能用上。

            1、編寫(xiě)一個(gè)方法用于驗(yàn)證指定的字符串是否為反轉(zhuǎn)字符,返回true和false。請(qǐng)用遞歸算法實(shí)現(xiàn)。(反轉(zhuǎn)字符串樣式為"abcdedcba")

            2、一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34...... 求第30個(gè)是多少

            3、一列數(shù)的規(guī)則如下: 1、12、123、1234、12345、123456......,求第n個(gè)數(shù)的遞歸算法(n<=9)。

            4、將一整數(shù)逆序,如987654321變?yōu)?23456789。

            5、一個(gè)射擊運(yùn)動(dòng)員打靶,靶一共有10環(huán),連開(kāi)10槍打中90環(huán)的可能行有多少種?


            posted @ 2011-10-22 21:22 mengkai| 編輯 收藏
            剛不容易寫(xiě)了幾百字的日志,總結(jié)了最近兩周的心情,結(jié)果網(wǎng)速不好沒(méi)有提交上有沒(méi)有備份。哎人倒霉喝水都塞牙
            posted @ 2011-10-14 20:47 mengkai| 編輯 收藏
            關(guān)于#include "stdafx.h"
            (1)Standard Application Frame Extend沒(méi)有函數(shù)庫(kù),只是定義了一些環(huán)境參數(shù),使得編譯出來(lái)的程序能在32位的操作系統(tǒng)環(huán)境下運(yùn)行。Windows和MFC的include文件都非常大,即使有一個(gè)快速的處理程序,編譯程序也要花費(fèi)相當(dāng)長(zhǎng)的時(shí)間來(lái)完成工作。由于每個(gè).CPP文件都包含相同的include文件,為每個(gè).CPP文件都重復(fù)處理這些文件就顯得很傻了。為避免這種浪費(fèi),AppWizard和VisualC++編譯程序一起進(jìn)行工作,如下所示:
            1.AppWizard建立了文件stdafx.h,該文件包含了所有當(dāng)前工程文件需要MFCinclude 文件。且這一文件可以隨被選擇的選項(xiàng)而變化。
            2.AppWizard然后就建立stdafx.cpp。這個(gè)文件通常都是一樣的。
            3.然后AppWizard就建立起工程文件,這樣第一個(gè)被編譯的文件就是stdafx.cpp。
            4當(dāng)VisualC++編譯stdafx.cpp文件時(shí),它將結(jié)果保存在一個(gè)名為stdafx.pch的文件里。(擴(kuò)展名pch表示預(yù)編譯頭文件。)( 預(yù)編譯頭文件通過(guò)編譯stdafx.cpp生成,以工程名命名,由于預(yù)編譯的頭文件的后綴是“pch”,所以編譯結(jié)果文件是projectname.pch。)
            5.當(dāng)VisualC++編譯隨后的每個(gè).cpp文件時(shí),它閱讀并使用它剛生成的.pch文件。
            VisualC++不再分析Windows include文件,除非你又編緝了stdafx.cpp或stdafx.h。這個(gè)技術(shù)很精巧,你不這么認(rèn)為嗎?(還要說(shuō)一句,Microsoft并非是首先采用這種技術(shù)的公司,Borland才是。)在這個(gè)過(guò)程中你必須遵守以下規(guī)則:
            1.你編寫(xiě)的任何.cpp文件都必須首先包含stdafx.h。
            2.如果你有工程文件里的大多數(shù).cpp文件需要.h文件,順便將它們加在stdafx.h(后部)上,然后預(yù)編譯stdafx.cpp。
            3.由于.pch文件具有大量的符號(hào)信息,它是你的工程文件里最大的文件。
            如果你的磁盤(pán)空間有限,你就希望能將這個(gè)你從沒(méi)使用過(guò)的工程文件中的.pch文件刪除。執(zhí)行程序時(shí)并不需要它們,且隨著工程文件的重新建立,它們也自動(dòng)地重新建立
            (2)stdafx.h文件中包含了一些必要的頭文件(如afxwin.h),對(duì)應(yīng)于stdafx.h有一個(gè)stdafx.cpp文件,該文件內(nèi)包含一句: #include "stdafx.h",其作用是令編譯器編譯出一個(gè)stdafx.obj預(yù)編譯頭文件(pre-compile header,需要設(shè)置編譯選項(xiàng)),在下次編譯時(shí)以降低總的編譯時(shí)間。若使用ClassWizard定義新類,則有可能在stdafx.h中增加新的 include files。比如,若選用MFC template classes,stdafx.h中便會(huì)增加:#include <afxtempl.h>。
            (3)注:1.afxwin.h是MFC編程的必需文件,其中包含如CString,CEdit類運(yùn)行所必需的頭文件,最好保證該句在頭文件首行;它還會(huì)調(diào)用windows.h,改頭文件包含有數(shù)據(jù)類型的定義、API入口點(diǎn)定義和其它有用的參數(shù)信息;
            2.非MFC工程使用MFC庫(kù)時(shí)最常見(jiàn)的問(wèn)題就是windows.h重復(fù)包含錯(cuò)誤:fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>;

            3.#define WIN32_LEANAND_MEAN,在windows的頭文件中拒絕接受MFC類庫(kù),以加速編譯時(shí)間;
            4.afx - afx中的af指的是Application Frame的縮寫(xiě),曾經(jīng)有一個(gè)技術(shù)開(kāi)發(fā)團(tuán)隊(duì)專門(mén)作Application Frame,后來(lái)給這個(gè)團(tuán)隊(duì)命名用afx,x本身沒(méi)有含義,只不過(guò)構(gòu)成一個(gè)響亮的口號(hào),后來(lái)就一直沿用下來(lái)。

            5.建立了一個(gè)新的空的工程,項(xiàng)目中的stdafx.cpp使用的是Create Precompiled Header (/Yc),而其它.cpp是用的Use Precompiled Header (/Yu),并且Create/Use PCH Trhough File是stdafx.h

             
             

             

            (4)stdafx是預(yù)編譯頭文件。你可以從VC++集成環(huán)境菜單Project/Settings...中
            Project Settings Dialog/C/C++/Category:Precompiled Headers/Use precompiled header file(.pch)的Check Box中看到。已經(jīng)將Stdafx.h文件作為預(yù)編譯的頭文件來(lái)使用。預(yù)編譯頭文件是在編譯所有Code之前,首先進(jìn)行的動(dòng)作。通過(guò)解析這個(gè)文件,取得定義的結(jié)構(gòu)和參數(shù)。這樣就不用在編譯每個(gè)文件時(shí)都重新進(jìn)行解析。提高編譯速度。stdafx.h這個(gè)名稱是可以改變的,你可以指定預(yù)編譯頭文件的名稱。這個(gè)只在vc中有用,并不是c++的特性,vc中可以在這里聲明全局變量和ID的地方
             
            (5) fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
            A如果根本沒(méi)有stdafx.h,你為何要包含它.一般只有大工程才需要預(yù)編譯頭文件.stdafx.h
            刪除這一行#include "stdafx.h"
            B project-> Settings->c/c++ category->Precomiled Headers 選擇第一個(gè) Not using precompiled headers
            C Project->Settings->C/C++->Project Options中把/Fp"Debug/Your_Project_Name.pch"和/Yu"stdafx.h"兩項(xiàng)刪掉就可以了。要注意原來(lái)在stdafx.h內(nèi)包含的文件要包含到各個(gè).cpp文件中.
            D在*.cpp中的開(kāi)頭加入#include "stdafx.h".(#include "stdAfx.h" 放到另外#include的前面,也就是程序的最前面。使用預(yù)編譯頭文件需要把它放到程序最前面,否則它前面的內(nèi)容會(huì)被忽略)
            E rebuild all
             
            (6)設(shè)置了預(yù)編譯,如果不加#include "stdafx.h", 就會(huì)報(bào)這個(gè)錯(cuò): fatal error C1010:
            unexpected end of file while looking for precompiled header directive。編譯器通過(guò)一個(gè)頭文件stdafx.h來(lái)使用預(yù)編譯頭文件。stdafx.h這個(gè)頭文件名是可以在project的編譯設(shè)置里指定的。編譯器認(rèn)為,所有在指令#include "stdafx.h"前的代碼都是預(yù)編譯的,它跳過(guò)#include "stdafx. h"指令,使用projectname.pch編譯這條指令之后的所有代碼。因此,所有的CPP實(shí)現(xiàn)文件第一條語(yǔ)句都是:#include "stdafx.h"。
            posted @ 2011-10-10 17:01 mengkai 閱讀(489) | 評(píng)論 (0)編輯 收藏
            對(duì)于階乘是個(gè)很有意思的函數(shù),給定一個(gè)整數(shù),那么它的階乘是多少那?而它末尾有多少個(gè)0,
            對(duì)于這個(gè)問(wèn)題,是不是要直接計(jì)算N!?如果溢出怎么辦,我們?nèi)绾慰焖俚恼业皆擃}的結(jié)果?首先要思考的N!= M*10^E。在N之前你需要看看那幾個(gè)的成績(jī)滿足即可,比如2*5=10,所有2和5乘積就可以得到一個(gè)10,于是由于能被2整除的整數(shù)的頻率要高于能被5整除的,所以我們可以取5考即可。
            方法一從1開(kāi)始到N,算出符合要求的個(gè)數(shù)。int result=0;
            for(i = 1;i<=N;i++)
            {
               j = i;
               while(j%5 == 0)
               {
                  result++;//統(tǒng)計(jì)N的階乘中那些能夠被5整除的因子的個(gè)數(shù)  
                  j/5;
               }
            }
            或者是while(N)
            {
               result+=N/5;
               N/=5;
            }

            類似可以求解二進(jìn)制的問(wèn)題,比如求N!的二進(jìn)制中最低位1的位置。
            由于N!中含有質(zhì)數(shù)2的個(gè)數(shù)。等于N/2+N/4+N/8....1.
            int lowOfone(int n)
            {
            int result = 0;
            while (n)

            {
            n>>=1;
            result+=n;
            }
            return result;
            }
            對(duì)于給定整數(shù)n,判斷它是否為2的方冪(解答提示:n>0&&((n&(n-1))==0))。

            轉(zhuǎn)載:
            【N!二進(jìn)制的解法二】

            N!含有質(zhì)因數(shù)2的個(gè)數(shù),還等于N減去N的二進(jìn)制表示中1的數(shù)目。我們還可以通過(guò)這個(gè)規(guī)律來(lái)求解。

            下面對(duì)這個(gè)規(guī)律進(jìn)行舉例說(shuō)明,假設(shè) N = 11011,那么N!中含有質(zhì)因數(shù)2的個(gè)數(shù)為 N/2 + N/4 + N/8 + N/16 + …

            即: 1101 + 110 + 11 + 1

            =(1000 + 100 + 1)

            +(100 + 10)

            +(10 + 1)

            + 1

            =(1000 + 100+ 10 + 1)+(100 + 10 + 1)+ 1

            = 1111 + 111 + 1

            =(10000 -1)+(1000 - 1)+(10-1)+(1-1)

            = 11011-N二進(jìn)制表示中1的個(gè)數(shù)

            小結(jié)
            任意一個(gè)長(zhǎng)度為m的二進(jìn)制數(shù)N可以表示為N = b[1] + b[2] * 2 + b[3] * 22 + … + b[m] * 2(m-1),其中b [ i ]表示此二進(jìn)制數(shù)第i位上的數(shù)字(1或0)。所以,若最低位b[1]為1,則說(shuō)明N為奇數(shù);反之為偶數(shù),將其除以2,即等于將整個(gè)二進(jìn)制數(shù)向低位移一位。



            posted @ 2011-09-29 13:51 mengkai 閱讀(531) | 評(píng)論 (0)編輯 收藏

            STL容器的學(xué)習(xí)總結(jié):
            第一:迭代器iterator
            首先,迭代器的定義,能夠用來(lái)遍歷STL容器中的部分或者全部元素,每個(gè)迭代器對(duì)象都代表著容易中的確定的地址,迭代器類似于指針類型,修改了常規(guī)指針的接口,是一種概念上的抽象,提供了*,++,==,!=,=操作,這些操作和C/C++操作數(shù)組元素時(shí)的指針接口一致。不同之處是該迭代器是一種smart pointer,具有遍歷復(fù)雜數(shù)據(jù)結(jié)構(gòu)的能力,所有操作行為都使用相同接口,雖然它們的型別不同。迭代器使開(kāi)發(fā)人員能夠在類或結(jié)構(gòu)中支持foreach迭代
            一般分為五種迭代器:輸入迭代器istream_iterator<>和istreambuf_iterator<>,輸出迭代器ostream_iterator<>和ostreambuf_iterator<>,前向迭代器,雙向迭代器,隨機(jī)訪問(wèn)迭代器
             back_insert_iterator<Container> 使用Container的push_back成員函數(shù)
             front_insert_iterator<Container> 使用Container的push_front成員函數(shù)
             insert_iterator<Container> 使用Container的insert成員函數(shù)
             reverse_iterator<Container> 從后向前使用Container的insert成員函數(shù)
             const——iterator<>
            二 分配算符(Allocators)

            看看stl中默認(rèn)的allocator:

             namespace std {
                  template <class T>
                  class allocator {
                    public:
                      //type definitions
                      typedef size_t    size_type;   //represent the size of the largest object in the allocation model
                      typedef ptrdiff_t difference_type; //The type for signed integral values that can represent the distance between any two pointers in the          

                                              //allocation model
                      typedef T*        pointer;
                      typedef const T*  const_pointer;
                      typedef T&        reference;
                      typedef const T&  const_reference;
                      typedef T         value_type;  //The type of the elements


                      //rebind allocator to type U
                      template <class U>
                      struct rebind {
                          typedef allocator<U> other;
                      };


                      //return address of values
                      pointer       address(reference value) const;
                      const_pointer address(const_reference value) const;


                      //constructors and destructor
                      allocator() throw();
                      allocator(const allocator&) throw();
                      template <class U>
                        allocator(const allocator<U>&) throw();
                      ~allocator() throw();


                      //return maximum number of elements that can be allocated
                      size_type max_size() const throw();


                      // allocate but don't initialize num elements of type T
                      pointer allocate(size_type num,
                                       allocator<void>::const_pointer hint = 0);


                      // initialize elements of allocated storage p with value value
                      void construct(pointer p, const T& value);


                      // delete elements of initialized storage p
                      void destroy(pointer p);


                      // deallocate storage p of deleted elements
                      void deallocate(pointer p, size_type num);
                  };
               }

            看了上面的allocator,我們已經(jīng)基本知道他的用處,他一般用在容器中,作為容器的一個(gè)成員,但一般是用模版參數(shù)傳入,這樣才可以讓我們換成我們自定義的allocator。

            vector就是動(dòng)態(tài)數(shù)組,在堆中分配內(nèi)存,元素連續(xù)存放,有保留內(nèi)存,如果減少大小后內(nèi)存也不會(huì)釋放。新值大于當(dāng)前大小時(shí)才會(huì)再分配內(nèi)存。[]可以使用,隨機(jī)插入,刪除要慢,快速的在末尾插入元素。最重要一點(diǎn)就是它的迭代器會(huì)失效。
            比如:typedef vector IntArray;
            IntArray array;
            array.push_back( 1 );
            array.push_back( 2 );
            array.push_back( 2 );
            array.push_back( 3 );
            // 刪除array數(shù)組中所有的2
            for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor )
            {
                if( 2 == *itor ) array.erase( itor );
            }
            這樣是不行的,需要按照下面的實(shí)現(xiàn):
              for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor )
                {
                  if( 2 == *itor )
                    {
                      array.erase( itor );
                      itor--;
                    }
                }
            deque,與vector類似,支持隨機(jī)訪問(wèn)和快速插入刪除。與vector不同的是,deque還支持從開(kāi)始端插入、刪除數(shù)據(jù)0,[]可以使用,速度沒(méi)有vector快。快速的訪問(wèn)隨機(jī)的元素。快速的在開(kāi)始和末尾插入元素,重新分配空間后,原有的元
            素不需要備份。對(duì)deque排序時(shí),可以先將deque的元素復(fù)制到vector,排序后在復(fù)制到deque

            list。只能順序訪問(wèn)不支持隨機(jī)訪問(wèn),不存在空間不夠
            關(guān)聯(lián)容器:更注重快速和高效的檢索數(shù)據(jù)的能力
            set:快速查找,不允許重復(fù)值。
            multiset快速查找,允許重復(fù)值。
            map:一對(duì)一映射,基于關(guān)鍵字快速查找,不允許重復(fù)值,key不能重復(fù)
            multimap一對(duì)多映射,基于關(guān)鍵字快速查找,允許重復(fù)值
            容器適配器:對(duì)已有的容器進(jìn)行某些特性的再封裝,

            stack:
            queue:
            (1)獲取向量中的元素值可用三種方式,直接用向量數(shù)組,獲得元素引用,獲得元素的指針。
            list:插入操作和刪除操作都不會(huì)造成原有的list迭代器失效,每次插入或刪除一個(gè)元素就配置或釋放一個(gè)元素空間,對(duì)于任何位置的元素插入或刪除,list永遠(yuǎn)是常數(shù)時(shí)間。


            posted @ 2011-09-27 17:52 mengkai 閱讀(280) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)
            久久99热这里只有精品66| 久久受www免费人成_看片中文| 日产精品久久久久久久| 99久久亚洲综合精品网站| 久久国产精品成人片免费| 久久久久亚洲AV无码专区首JN | 久久婷婷五月综合色99啪ak| 99久久精品免费| 国产精品热久久毛片| 久久av高潮av无码av喷吹| 久久国产精品一区| 精品99久久aaa一级毛片| 精品久久久久中文字| 久久强奷乱码老熟女网站| 久久精品国产99久久丝袜| 久久男人AV资源网站| 亚洲精品午夜国产va久久| 国产69精品久久久久观看软件| 久久久久亚洲AV片无码下载蜜桃| 人妻无码αv中文字幕久久琪琪布 人妻无码精品久久亚瑟影视 | 伊人久久综在合线亚洲2019| 91精品国产高清久久久久久国产嫩草| 狠狠久久亚洲欧美专区| 国产99久久九九精品无码| 久久九九免费高清视频| 波多野结衣久久精品| 久久久免费精品re6| 国产 亚洲 欧美 另类 久久| 久久综合视频网站| 欧美牲交A欧牲交aⅴ久久| 丰满少妇高潮惨叫久久久| 精品久久久无码中文字幕天天| 99久久综合国产精品免费| 亚洲精品无码久久千人斩| 国产精品美女久久久| 久久高清一级毛片| 一本色道久久99一综合| 亚洲国产精品一区二区久久| 伊色综合久久之综合久久| 久久电影网一区| 午夜精品久久久久成人|