演算法學好了
㈠ 做為一個初學者,如何才能學好演算法呢,感覺自己很菜
凡事都講究動機,你學習演算法的目的是什麼呢?目的不同,學法不同側重不同。
如果你是准備跳槽,以面試為目的,可以先從cracking the coding interview入手,題目是按照鏈表,樹圖,遞歸這種章節安排的,每章都有題目,難度適中,第一遍自己寫不出來很正常,畫圖分析,然後再做第二遍,第二遍就快很多,理解也深刻了,實在理解不了的演算法,沒辦法,背吧,說不定到後面不知什麼時候就理解了,所謂讀書百遍,其意自現,演算法也一樣。
如果你是半路出家的程序員,看書覺得看不下去,可以試著看看視頻,現在網路這么發達,網上有很多免費的精品視頻,比如潭州教育老師的數據結構以及清華鄧俊輝老師的數據結構都是特別好的課程。
最後一種就是你對演算法理論和精髓確實感興趣,且有一定的數學功底,你可以嘗試研究下《演算法導論》,甚至《計算機程序設計藝術》(反正我是看不下去)。
其實,無論出於哪種目學習演算法,其實最重要的一點就是:多編程實踐,多思考,這是廢話,但這也是真理。
㈡ 如何學好演算法設計與分析
學好演算法設計與分析方法如下:
1、學習基本演算法:首先學習數據結構和演算法的基本知識,如數組、鏈表、樹等常用數據結構以及查找、排序、字元串匹配等基本演算法。
2、看經典教材:《演算法導論》、《演算法4》、《數據結構與演算法分析》等經典教材可以幫助學生系統性地學習演算法設計與分析。
3、做練習題:充分做練習題和模擬考試,可以幫助鞏固理解和熟練掌握演算法。
教材特色
1、該教材沒有過多地關注實現細節,演算法描述採用偽碼,突出對問題本身的分析和求解方法的闡述,從問題建模、演算法設計與分析、改進措施等方面給出了建議,為從事實際問題的演算法設計與分析工作在理論上提供思路和方法。
2、該教材介紹了一些關於問題復雜度的分析方法。
3、該教材對計算復雜性理論的核心內容和針對難解問題的處理策略加以簡單的介紹。
4、該教材的素材來自多年的教學積淀,先引入基本概念和數學基礎知識,然後進入演算法設計與分析的核心內容。