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

            杰 & C++ & Python & DM

            算法的態度

            很多同學和朋友經常向我抱怨說,算法已經成為他們學習和工作中的一個負擔。在他們看來,算法只能應付一下考試,在學習中沒有任何用處;也有人說,求職過程中考算法純粹是浪費精力,在實際工作中沒有用到任何算法。

            在我的本科四年中,花了大量時間學習算法,參加算法比賽——成績很濫,朋友們都說,和我的付出嚴重不成比例,但是我一點也不后悔花費時間學習算法。算法讓我在平時的學習中應對各個科目都從容自如,學習起來事半功倍。

            在平時的學習交流中,有時看其他人的代碼相當別扭,不是看不懂(有時真看不懂),而是很納悶,為什么要這么寫呢,明明有很明顯的順暢的思路,干嗎要寫這么繞呢?我將我覺得正確的思路寫出來的時候,對方也會覺得這樣寫順暢了很多,代碼也小了很多。

            在一般應用中,不會說讓你寫一個KMP算法,或者給你設計一個動態規劃的題目讓你來解。但是如果你會這些算法,掌握了這種優化的思想,在平時的編寫中會不知不覺的寫出比較高效的代碼。

            有人說,現在中國的軟件現狀就是這樣,不在乎你實現的有多快,只會在乎你有沒有實現所有的功能點,隨著硬件條件的改善,一般情況下都能滿足要求。這樣說也是沒錯,如果你甘愿只做一名碼工,因為對于相當大的一部分軟件,效率并不是最重要的,甚至第二、第三重要都排不上。但是對于企業級的應用和軟件的核心部分,往往效率是非常重要的。

            如果將編程和寫作類比的話,可以進行這個的比較。編程必須會語言C/C++、JavaPython等,寫作也一定要會一個語言漢語、英語、法語,當然計算機語言有效率的優劣以及適合的應用的場景,而自然語言沒有這種屬性。算法修養之于編程就像文學修養之于創作,沒有一定的文學修養就寫不出好的作品,同樣沒有良好的算法修養也創造不出好的代碼。數據結構就像寫作中的排比句等,它們是骨架,結構化編程就像是寫作中的段落,它們使得層次分明。

            在靜靜的夜晚,明月透過窗子,照進小屋,頓時一種異樣的情懷涌上心頭。這時有下面幾種人,第一種,嚎啕大哭,“媽媽……”;第二種,潸然淚下,“我嚓,想家了是不”;第三種,沉思狀,“有首詩可以表達這個情懷”,拿起全唐詩,查找了整晚,夜盡天明時,驚呼“找到了,原來是‘舉頭望明月,底頭思故鄉’啊,我記得有的。”;第四種,徘徊低吟“舉頭望明月,底頭思故鄉”;第五種,心中油然而生,“獨在異鄉為異客,明月千里寄鄉思”。

            同樣地,這也反映了一個程序員算法修養的幾種境界。第一種,菜鳥,不會表達自己的思想,這種多見于初學語言的人,只會寫hello world之類程序的人;第二種,入門,可以表達出自己的想法,但是不懂什么算法,只是憑自己對計算機語言的理解寫程序,當然寫出的程序功能點可能不少,但是不完善,潛在的bug很多;第三種,有一定的算法基礎,但是沒有掌握完全,寫程序時有高效的意識,對一些核心程序,看著資料也能寫出相應的代碼,但是不能活學活用;第四種,有不錯的算法修養,寫出的代碼清晰高效,可勝任關鍵代碼的編寫;第五種,有很高的算法修養,理解了算法的精髓,自己可以得出算法供世人學習,一般是大師級人物。國內有相當一部分程序員就是處于第二階段,他們也有穩定的工作,甚至不錯的收入,但是總感覺遇到了瓶頸,自己的能力躊躇不前。

            有人說,現在各種庫都有,那些代碼都非常高效,我只要熟練使用這些庫就行了,不用學習算法??梢赃_到熟練使用幾個庫的程序員也算是第三階段,但是要想熟練駕馭更多的庫,將庫函數熟練的使用,沒有一定的算法基礎是不行的。比如,如果你想熟練使用STL庫,那么對各種容器和算法都應該有一定的認識,什么時候使用list,為什么快排不能應用于list?要想回答這些問題,必須掌握初步的算法。

            對于想要在技術上有一定作為的程序員,沒有算法修養,就如同金庸小說中的學武之人不學習內功,它可以將外功學的爐火純清,憑著這份功力可以走遍半個江湖,但是一旦遇到高手就掛了;反之如果有內功修為,學習外功可學一知十,觸類旁通,內功修為越高將來的成就越大。

            學習算法吧!

            posted on 2011-07-20 23:59 jaysoon 閱讀(604) 評論(2)  編輯 收藏 引用 所屬分類: 算法/ICPC

            評論

            # re: 算法的態度 2011-07-21 00:58 K.V

            算法,更多的是一種視野上的開闊,潛移默化的影響;但也別把算法神化了。思維的深度和廣度,不是一朝一夕能成,也不是僅僅算法能成。  回復  更多評論   

            # re: 算法的態度 2011-07-21 22:40 jaysoon

            @K.V
            我很同意你的觀點,算法是一種潛移默化的影響;算法不是一切,也不萬能。但是不經過算法這個領域,無論思維的深度和廣度都會少一大塊。
              回復  更多評論   

            <2011年7月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導航

            統計

            常用鏈接

            留言簿

            隨筆分類

            隨筆檔案

            文章分類

            文章檔案

            收藏夾

            C++

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            人人狠狠综合久久亚洲婷婷| 亚洲中文字幕久久精品无码喷水 | 久久AV高清无码| 国产91久久精品一区二区| 久久精品国产只有精品2020| 国产亚洲精午夜久久久久久| 99久久综合国产精品免费| 久久免费美女视频| 中文成人无码精品久久久不卡| 午夜天堂av天堂久久久| 精品综合久久久久久88小说| 久久人人爽人人爽人人AV | 久久99精品国产麻豆宅宅| 久久久99精品一区二区| 久久Av无码精品人妻系列| 久久综合狠狠综合久久97色| 久久精品国产第一区二区三区| 国产伊人久久| 精品久久久久久久| 波多野结衣AV无码久久一区| 国产免费久久精品99久久| 久久精品www人人爽人人| 久久天天躁狠狠躁夜夜躁2014| 国产亚洲精午夜久久久久久 | 国产AV影片久久久久久 | 日批日出水久久亚洲精品tv| 久久99国产精品久久久| 久久精品www人人爽人人| 亚洲午夜久久久久妓女影院| 四虎久久影院| 亚洲国产成人精品无码久久久久久综合| 久久本道伊人久久| 97久久久精品综合88久久| 无码任你躁久久久久久老妇App| 精品无码久久久久久国产| 国产高潮国产高潮久久久91 | 韩国免费A级毛片久久| 亚洲欧美伊人久久综合一区二区| 亚洲国产成人精品无码久久久久久综合 | 欧美一区二区久久精品| 波多野结衣久久一区二区|