• <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>

            Flyingis

            Talking and thinking freely!
            posts - 3, comments - 20, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            算法分析規(guī)則

            Posted on 2006-01-22 11:39 Flyingis 閱讀(984) 評論(3)  編輯 收藏 引用 所屬分類: Algorithm

            作者:Flyingis

            算法作為實(shí)現(xiàn)計算機(jī)程序?qū)崿F(xiàn)時解決問題的方法,在計算機(jī)應(yīng)用領(lǐng)域發(fā)揮著舉足輕重的作用。它研究的內(nèi)容是解決問題的方法,而不是計算機(jī)程序的本身。一個優(yōu)秀的算法可以運(yùn)行在比較慢的計算機(jī)上,但一個劣質(zhì)的算法在一臺性能很強(qiáng)的計算機(jī)上也不一定能滿足應(yīng)用的需要,因此,在計算機(jī)程序設(shè)計中,算法設(shè)計往往處于核心地位。如何去設(shè)計一個適合特定應(yīng)用的優(yōu)秀算法是眾多開發(fā)人員所關(guān)注的焦點(diǎn),在算法設(shè)計時,需要了解算法設(shè)計的規(guī)則。

            要想充分理解算法并有效地應(yīng)用于實(shí)際問題,關(guān)鍵是對算法的分析。通常我們可以利用實(shí)驗對比分析、數(shù)學(xué)方法來分析算法。實(shí)驗對比分析很簡單,兩個算法相互比較,它們都能解決同一問題,在相同環(huán)境下,哪個算法的速度快我們一般就會認(rèn)為這個算法性能更好。數(shù)學(xué)方法能將算法分析的更為細(xì)致,能在嚴(yán)密的邏輯推理基礎(chǔ)上判斷算法的優(yōu)劣,但在完成實(shí)際項目過程中,我們很多時候都不能去做這種嚴(yán)密的論證與推斷,因為我們不是在完成一道數(shù)學(xué)難題,也不是數(shù)學(xué)領(lǐng)域的專家,將大量的時間花費(fèi)在公式的計算與證明上會導(dǎo)致整個項目進(jìn)度緩慢、成本過高,因此,在算法設(shè)計中,我們往往采用能近似表達(dá)性能的方法來展示某個算法的性能指標(biāo)。例如,計算機(jī)對n2n2+2n的響應(yīng)速度,當(dāng)n比較大的時候幾乎一樣沒什么區(qū)別,我們便可直接認(rèn)為后者算法的復(fù)雜度為n2。在分析算法時,隱藏細(xì)節(jié)的數(shù)學(xué)表示法成為大O記法,它可以幫助我們簡化算法復(fù)雜度的許多細(xì)節(jié),提取主要成分,這和遙感圖像處理中的主成分分析思想相近。

            基于算法復(fù)雜度簡化表達(dá)的思想基礎(chǔ)上,我們通常會對算法進(jìn)行最壞情況分析和平均情況分析。對于一個給定的算法,如果能保證它的最壞情況下的性能依然不錯當(dāng)然很好,但是在某些情況下,程序的最壞情況算法的運(yùn)行時間和實(shí)際情況的運(yùn)行時間相差很大,在實(shí)際應(yīng)用中我們幾乎不會碰到最壞情況下的輸入,那么此時進(jìn)行最壞情況分析顯得有些畫蛇添足,特別是分析最壞情況算法會花費(fèi)大量精力的時候。算法的平均情況分析可以幫助我們估計程序的性能,作為算法分析的基本指標(biāo)之一,但是平均情況和實(shí)際情況仍然會有相差很大的時候,這時我們便可以使用隨機(jī)法來盡量模擬現(xiàn)實(shí)中的情況,這樣可以得到在嚴(yán)格的概率意義上的預(yù)測運(yùn)行時間。另外,對于一個經(jīng)典算法,我們沒有必要再去對該算法進(jìn)行改進(jìn),研究它的上界和下界,只需要了解該算法的特性,然后在合適的時候使用它。

            最后,當(dāng)一個程序變快和變慢,讓計算機(jī)反映出來的時間差幾乎不會讓人產(chǎn)生感覺的時候,我們也沒有必要去改進(jìn)這個算法,例如程序進(jìn)行1000次循環(huán)花費(fèi)0.001秒,改進(jìn)后為0.1秒,在實(shí)際應(yīng)用中通常也只需要幾千次循環(huán),此時我們就沒有必要去花時間來研究這個算法了,只要該算法能正確完成任務(wù)即可。

            Feedback

            # re: 算法分析規(guī)則  回復(fù)  更多評論   

            2006-05-12 19:39 by yuwenli@3126.com
            你有主成分分析的算法實(shí)現(xiàn)嗎?最好是java語言的。我做論文需要。有的話發(fā)一份給我,yuwenli@3126.com,QQ:510022366

            # re: 算法分析規(guī)則  回復(fù)  更多評論   

            2006-08-08 01:36 by 我愛ACM
            你好,我是來自中大計算機(jī)系的一名學(xué)生,現(xiàn)在致力于對算法設(shè)計的學(xué)習(xí),如果你也有興趣可以光臨一下我的博客,進(jìn)而相互建立友情鏈接,怎么樣?

            # re: 算法分析規(guī)則  回復(fù)  更多評論   

            2006-08-08 01:39 by 我愛ACM
            我的博客地址是http://www.cnitblog.com/cockerel

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            99精品国产综合久久久久五月天| 久久99国产精一区二区三区 | 伊人久久大香线蕉AV色婷婷色| 国产精品久久久久a影院| 伊人久久大香线蕉av不卡| 国产精品一区二区久久国产| 国产激情久久久久影院| 亚洲午夜久久久久久久久电影网| 色综合久久久久| 亚洲AV乱码久久精品蜜桃| 久久久久国色AV免费看图片| 欧美黑人又粗又大久久久| 伊人久久大香线蕉成人| 国产精品久久久久久久久免费| 狠狠色丁香久久婷婷综合_中| 久久久久久久综合日本亚洲| 亚洲AV无码1区2区久久 | 久久久久亚洲精品天堂久久久久久| 中文字幕久久精品无码| 久久婷婷人人澡人人| 国产精品免费看久久久| 精品久久久久成人码免费动漫| 久久久久人妻一区精品| 99热精品久久只有精品| 99国产精品久久久久久久成人热| 亚洲国产精品无码久久久蜜芽 | 久久九九亚洲精品| 996久久国产精品线观看| 久久久噜噜噜www成人网| 国产精品一区二区久久精品涩爱| 久久久久女教师免费一区| 国产国产成人久久精品| 国产巨作麻豆欧美亚洲综合久久| 精品无码久久久久久尤物| 午夜久久久久久禁播电影| 性欧美丰满熟妇XXXX性久久久 | 777米奇久久最新地址| 久久国产高潮流白浆免费观看| 精品熟女少妇av免费久久| 国产成人久久激情91| 久久福利青草精品资源站|