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

            算法的態(tài)度

            很多同學(xué)和朋友經(jīng)常向我抱怨說(shuō),算法已經(jīng)成為他們學(xué)習(xí)和工作中的一個(gè)負(fù)擔(dān)。在他們看來(lái),算法只能應(yīng)付一下考試,在學(xué)習(xí)中沒(méi)有任何用處;也有人說(shuō),求職過(guò)程中考算法純粹是浪費(fèi)精力,在實(shí)際工作中沒(méi)有用到任何算法。

            在我的本科四年中,花了大量時(shí)間學(xué)習(xí)算法,參加算法比賽——成績(jī)很濫,朋友們都說(shuō),和我的付出嚴(yán)重不成比例,但是我一點(diǎn)也不后悔花費(fèi)時(shí)間學(xué)習(xí)算法。算法讓我在平時(shí)的學(xué)習(xí)中應(yīng)對(duì)各個(gè)科目都從容自如,學(xué)習(xí)起來(lái)事半功倍。

            在平時(shí)的學(xué)習(xí)交流中,有時(shí)看其他人的代碼相當(dāng)別扭,不是看不懂(有時(shí)真看不懂),而是很納悶,為什么要這么寫(xiě)呢,明明有很明顯的順暢的思路,干嗎要寫(xiě)這么繞呢?我將我覺(jué)得正確的思路寫(xiě)出來(lái)的時(shí)候,對(duì)方也會(huì)覺(jué)得這樣寫(xiě)順暢了很多,代碼也小了很多。

            在一般應(yīng)用中,不會(huì)說(shuō)讓你寫(xiě)一個(gè)KMP算法,或者給你設(shè)計(jì)一個(gè)動(dòng)態(tài)規(guī)劃的題目讓你來(lái)解。但是如果你會(huì)這些算法,掌握了這種優(yōu)化的思想,在平時(shí)的編寫(xiě)中會(huì)不知不覺(jué)的寫(xiě)出比較高效的代碼。

            有人說(shuō),現(xiàn)在中國(guó)的軟件現(xiàn)狀就是這樣,不在乎你實(shí)現(xiàn)的有多快,只會(huì)在乎你有沒(méi)有實(shí)現(xiàn)所有的功能點(diǎn),隨著硬件條件的改善,一般情況下都能滿(mǎn)足要求。這樣說(shuō)也是沒(méi)錯(cuò),如果你甘愿只做一名碼工,因?yàn)閷?duì)于相當(dāng)大的一部分軟件,效率并不是最重要的,甚至第二、第三重要都排不上。但是對(duì)于企業(yè)級(jí)的應(yīng)用和軟件的核心部分,往往效率是非常重要的。

            如果將編程和寫(xiě)作類(lèi)比的話(huà),可以進(jìn)行這個(gè)的比較。編程必須會(huì)語(yǔ)言C/C++JavaPython等,寫(xiě)作也一定要會(huì)一個(gè)語(yǔ)言漢語(yǔ)、英語(yǔ)、法語(yǔ),當(dāng)然計(jì)算機(jī)語(yǔ)言有效率的優(yōu)劣以及適合的應(yīng)用的場(chǎng)景,而自然語(yǔ)言沒(méi)有這種屬性。算法修養(yǎng)之于編程就像文學(xué)修養(yǎng)之于創(chuàng)作,沒(méi)有一定的文學(xué)修養(yǎng)就寫(xiě)不出好的作品,同樣沒(méi)有良好的算法修養(yǎng)也創(chuàng)造不出好的代碼。數(shù)據(jù)結(jié)構(gòu)就像寫(xiě)作中的排比句等,它們是骨架,結(jié)構(gòu)化編程就像是寫(xiě)作中的段落,它們使得層次分明。

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

            同樣地,這也反映了一個(gè)程序員算法修養(yǎng)的幾種境界。第一種,菜鳥(niǎo),不會(huì)表達(dá)自己的思想,這種多見(jiàn)于初學(xué)語(yǔ)言的人,只會(huì)寫(xiě)hello world之類(lèi)程序的人;第二種,入門(mén),可以表達(dá)出自己的想法,但是不懂什么算法,只是憑自己對(duì)計(jì)算機(jī)語(yǔ)言的理解寫(xiě)程序,當(dāng)然寫(xiě)出的程序功能點(diǎn)可能不少,但是不完善,潛在的bug很多;第三種,有一定的算法基礎(chǔ),但是沒(méi)有掌握完全,寫(xiě)程序時(shí)有高效的意識(shí),對(duì)一些核心程序,看著資料也能寫(xiě)出相應(yīng)的代碼,但是不能活學(xué)活用;第四種,有不錯(cuò)的算法修養(yǎng),寫(xiě)出的代碼清晰高效,可勝任關(guān)鍵代碼的編寫(xiě);第五種,有很高的算法修養(yǎng),理解了算法的精髓,自己可以得出算法供世人學(xué)習(xí),一般是大師級(jí)人物。國(guó)內(nèi)有相當(dāng)一部分程序員就是處于第二階段,他們也有穩(wěn)定的工作,甚至不錯(cuò)的收入,但是總感覺(jué)遇到了瓶頸,自己的能力躊躇不前。

            有人說(shuō),現(xiàn)在各種庫(kù)都有,那些代碼都非常高效,我只要熟練使用這些庫(kù)就行了,不用學(xué)習(xí)算法。可以達(dá)到熟練使用幾個(gè)庫(kù)的程序員也算是第三階段,但是要想熟練駕馭更多的庫(kù),將庫(kù)函數(shù)熟練的使用,沒(méi)有一定的算法基礎(chǔ)是不行的。比如,如果你想熟練使用STL庫(kù),那么對(duì)各種容器和算法都應(yīng)該有一定的認(rèn)識(shí),什么時(shí)候使用list,為什么快排不能應(yīng)用于list?要想回答這些問(wèn)題,必須掌握初步的算法。

            對(duì)于想要在技術(shù)上有一定作為的程序員,沒(méi)有算法修養(yǎng),就如同金庸小說(shuō)中的學(xué)武之人不學(xué)習(xí)內(nèi)功,它可以將外功學(xué)的爐火純清,憑著這份功力可以走遍半個(gè)江湖,但是一旦遇到高手就掛了;反之如果有內(nèi)功修為,學(xué)習(xí)外功可學(xué)一知十,觸類(lèi)旁通,內(nèi)功修為越高將來(lái)的成就越大。

            學(xué)習(xí)算法吧!

            posted on 2011-07-20 23:59 jaysoon 閱讀(615) 評(píng)論(2)  編輯 收藏 引用 所屬分類(lèi): 算法/ICPC

            評(píng)論

            # re: 算法的態(tài)度 2011-07-21 00:58 K.V

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

            # re: 算法的態(tài)度 2011-07-21 22:40 jaysoon

            @K.V
            我很同意你的觀點(diǎn),算法是一種潛移默化的影響;算法不是一切,也不萬(wàn)能。但是不經(jīng)過(guò)算法這個(gè)領(lǐng)域,無(wú)論思維的深度和廣度都會(huì)少一大塊。
              回復(fù)  更多評(píng)論   


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


            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿

            隨筆分類(lèi)

            隨筆檔案

            文章分類(lèi)

            文章檔案

            收藏夾

            C++

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            99久久99久久精品国产片果冻| 97久久精品国产精品青草| 久久久精品免费国产四虎| 久久国产精品一区二区| 久久亚洲国产成人影院网站| 欧美伊人久久大香线蕉综合69| 久久亚洲春色中文字幕久久久| 中文字幕亚洲综合久久2| 97精品依人久久久大香线蕉97| 青青草国产精品久久| 亚洲综合日韩久久成人AV| 婷婷久久综合| 欧美精品乱码99久久蜜桃| 久久精品国产亚洲麻豆| 99久久er这里只有精品18| 狠狠色丁香婷婷久久综合| 精品一久久香蕉国产线看播放| 色偷偷888欧美精品久久久| 国内精品久久久久久99蜜桃| 精品多毛少妇人妻AV免费久久| 婷婷伊人久久大香线蕉AV | 中文字幕无码免费久久| 久久久久亚洲av毛片大| 噜噜噜色噜噜噜久久| 精品综合久久久久久97| 国内精品久久久久影院日本| 狠狠干狠狠久久| 国产精品久久新婚兰兰| 国产精品美女久久久久网| 99久久综合国产精品二区| 狠狠色丁香久久婷婷综合图片| 香蕉久久夜色精品升级完成| 精品久久香蕉国产线看观看亚洲| 久久精品国产69国产精品亚洲| 武侠古典久久婷婷狼人伊人| 日韩AV无码久久一区二区| 亚洲国产成人精品女人久久久 | 99久久精品国产一区二区| 免费观看久久精彩视频| 99国产精品久久久久久久成人热| 久久亚洲日韩看片无码|