對於乙個程式設計初學者來說,如何高效並且系統的學習演算法?

時間 2021-05-06 00:56:05

1樓:窮碼農

熟讀唐詩三百首,不會做詩也會吟。我是轉cs的,而且還是大齡轉碼。剛通過刷題找到了Google的實習。

感覺程式設計就是需要掌握一定基礎之後,瘋狂練習就行。

看書,看教程,寫專案都可以。但一定要動手去寫。

刷題有效果,刷的好,工作就有了。

怎麼刷題,有哪些資料?

這個回答應該有幫助:

刷完LeetCode是什麼水平,能拿到什麼水平的 offer ?以上。

2樓:皮皮關

在演算法的學習中高效和系統似乎並不能兼得:

1、如果要系統的學習演算法,從演算法背後的數學原理開始,直到學會分析和設計演算法,除非天賦異稟,否則效率自然是高不起來的。

2、若想要高效的學習演算法以應對考試或工作中的一些需求,則基本原理方面的知識會有所缺失。

有點像是學象棋。如果只是為了跟街邊的大爺殺兩把,那麼搞清楚規則後練習幾把,再背幾個常用定式就足夠了。如果目標是職業象棋大師,那除了背海量的棋譜外還得經年累月的高質量練習。

總之學習之前要先明確一下學習的需求程度,建議是從簡單有趣的資料結構和演算法開始學,比如排序、樹的遍歷、地圖搜尋等

程式設計裡的演算法往往暗指資料結構和演算法,對於資料結構的學習也是必不可少的,推薦從這本書入手:

在有一定基礎後有進一步提公升的需求時再啃不遲。

馬遙:給貓看的遊戲AI實戰(四)眼見為實——讓AI的思考過程視覺化

3樓:

OI黨如果你僅僅是想提高解演算法題的能力,刷題是很有效的。

多做題,多讀大佬們的題解、文章。

演算法題套路很多,但是實戰中的變化更多。

書本上的套路不是很多,往往只有經典演算法的基本原理。

至於如何設計演算法,實戰中可以積累更多經驗,也能鍛鍊靈活運用的能力。

然而……

如果你想更本質地了解演算法的來龍去脈,以及背後深刻的數學原理。

《演算法導論》了解一下。

4樓:

我個人還是傾向照計算機科班的方法來,看他們的教材。自學無所謂,但一定要看書而不是零散的文章,這樣才能

1) 保證接觸到的知識點都是前面學過的。不用老是臨時去查,浪費時間。

2) 不僅會介紹知識點本身,而且還會把他們串起來,對比,聯絡。這樣的體會更深。

3) 一定要做題。演算法導論的習題才是他的精華。

5樓:

工作狗目前也在補演算法。。。說說自己的過程。

一開始刷leetcode, 雖然說有些水題,但碰到稍微有點技術含量的就跪了。所以想還是先打打基礎吧。

stanford演算法公開課不錯,分兩個部分。我也就剛學完Part 1,總體感覺就是講課的結構和演算法導論基本一致, 可以對應起來邊學邊看書。同時課後有些簡單的練習,做完還是挺有成就感的。

Algorithms: Design and Analysis, Part 1 和Algorithms: Design and Analysis, Part 2

6樓:夜貓程式設計師

我是從OJ上一步一步刷出來的…… NYOJ HDU POJ 各種題目,各種演算法然後看資料,資料結構起步,然後去學數學,全程刷著演算法導論這本書…… 然後就差不多了

7樓:

找個高人出對應點難題給你,讓你思考可能需要的演算法。

程式設計解決實際問題時,應該以實際問題為出發點,尋找最優解。演算法初學者可能會出現的乙個問題是,以演算法為主,去套問題。

請問 對於乙個日語初學者

向你推薦日語初級入門語法書 1 日語基礎語法整理 世界圖書出版公司,ISBN7 5062 7464 7。2 新日本語語法 增訂本,上下冊 外語教學與研究出版社,ISBN 7560005675。語法要怎麼學?一 找語法內容全面的書,並且大致瀏覽一遍 我們在書店裡,總是能夠看到各式各樣的日語語法書,其中...

對於自學python的初學者來說,應該使用什麼編輯工具?

PythonOffice 最好使用jupyter notebook,結果顯示友好快速,方便檢視每一步執行,詳見https zhuanlan p 60 315869 Pycharm 如何免費申請JetBrains開發工具套件的學生授權,詳細步驟圖 開發工具 村雨遙 CSDN部落格 2.VS Code ...

對於初學者來說怎麼選把好提琴?

琴的世界 1 可以跟身邊學習提琴的朋友取經,做參考 2 可以找老師或會拉琴的朋友幫忙挑選 3 最主要的一點是 對初學者來說,演奏的舒適度是最主要的,前期學習主要學習標準的動作,選擇一把拉起來舒服不吃力的小提琴才是關鍵。 石頭 錢多錢少根據自己的經濟實力來決定,不一定非要買貴的,現在假貨遍地都是。我花...