算法看懂了,不一定能夠?qū)懗隽?/p>
算法能夠?qū)懗鰜恚灰欢軌蛑v出來
算法能夠講出來,并且寫出來,并且舉一反三,說明是真的懂了。
看別人的算法寫出來的代碼,永遠(yuǎn)不是自己的代碼,只能算抄襲。。。。
Step1.
沒有算法基礎(chǔ)的同學(xué),尤其連數(shù)組、堆棧、二叉樹的遍歷,幾個(gè)基本排序算法代碼都寫不出來的同學(xué),別看《算法導(dǎo)論》,等于小學(xué)數(shù)學(xué)沒學(xué)好,看大學(xué)數(shù)學(xué)。
Step1-Step2:在這期間推薦的書有《算法》,可以通過讀書、做題、刷OJ來提高
Step2
瀏覽《算法導(dǎo)論》目錄發(fā)現(xiàn)一半以上完全沒見過,在上面的基礎(chǔ)上去OJ練一兩個(gè)月,把網(wǎng)絡(luò)流基本算法步驟、凸包、并查集、線段樹、貪心動(dòng)態(tài)規(guī)劃、雙指針?biāo)枷耄瑨呙杈€思想,Trie樹,逆序數(shù)以及基本數(shù)論算法知識(shí)補(bǔ)上再說
Step3
如果能夠過算法面試關(guān),并且有興趣,有時(shí)間,再啃《算法導(dǎo)論》,當(dāng)然最基本的高等數(shù)學(xué)、矩陣、離散數(shù)學(xué)知識(shí)要有。
補(bǔ)充step2的步驟,在step2這個(gè)階段是打基礎(chǔ)最關(guān)鍵的時(shí)期,分為算法入門區(qū)和算法進(jìn)階區(qū)。。。。。
算法入門區(qū)的標(biāo)準(zhǔn),鏈表reverse以及數(shù)組的原地reverse無腦寫出,快速排序和歸并排序無腦寫出,熟練運(yùn)用快速排序和歸并排序的思想。二分法問題熟練寫出,BFS和DFS熟練寫出,熟練使用隊(duì)列,哈希表,堆等數(shù)據(jù)結(jié)構(gòu),最后達(dá)到Leetcode上medium題無壓力寫出。
補(bǔ)充:做算法題一定要?dú)w類,歸的類要具有一般性。另外程序?qū)懗鰜恚欢ㄒ茸约簷z查一遍,就像交卷子之前檢查下數(shù)學(xué)試卷一樣,另外推薦Leetcode這種OJ,給出函數(shù)讓你寫,可以把主要精力放在設(shè)計(jì)算法上,而不用去處理IO之類的問題。
但是IO之類的問題可以在杭電等OJ上練熟,因?yàn)椴糠?a target="_blank">公司筆試還有打比賽是需要掌握這個(gè)的。
Tips:學(xué)習(xí)算法可以提高邏輯思維能力,對任何人都是有益的。而學(xué)習(xí)基礎(chǔ)算法肯定對學(xué)習(xí)相關(guān)領(lǐng)域特點(diǎn)算法是有促進(jìn)作用的。
-
算法
+關(guān)注
關(guān)注
23文章
4608瀏覽量
92845
發(fā)布評論請先 登錄
相關(guān)推薦
評論