大三計算機專業,想重學數學(目的是為了往演算法方向發展),有什麼好的建議?

時間 2021-06-08 10:17:01

1樓:

不知道你說的「演算法方向」具體是指什麼,不同方向需要的數學基礎差別很大,而且工程實踐和學術研究的差別也很大。

如果是現在很火的人工智慧/機器學習演算法,那把高數+線代+概率統計掌握好即可,再上幾門機器學習的網課,基礎知識就完全夠用了,剩下的主要是工程實踐方面的經驗積累。要做學術研究的話則可能深入一些,但需要的數學知識基本也只是上述三門的延伸:連續優化(各種convex/non-covex optimization, XX descent etc),矩陣分析,統計學習理論(也許還有large-deviation theory),之類的。

如果是數值計算方向,例如用計算機解各種微分方程、模擬物理過程等,那「計算方法」(有時也叫「數值計算」)與矩陣計算這兩門是基礎,之前說的連續優化也會用到很多,高階一點還有有限元分析之類的,剩下的就跟你要解決的具體問題有關了:就如你要解微分方程的話總得先知道微分方程是啥。

如果是離散演算法,即那種你在本科演算法課上學過的(DFS/BFS/DP/greedy etc),這是所謂「理論計算機(TCS)」研究的範疇,需要的數學基礎基本就是線性代數和組合數學,再加一點抽代的東西。另外計算複雜性(computational complexity)不好說算不算一門數學,但我覺得是做TCS獨有的一種思維方式,也算在數學基礎裡吧。TCS用到的數學不深,但是技巧性特別強,例如你可以了解一下《Concrete Mathematics》和《The Probabilistic Method》兩本書。

就具體學習方法本身來說,我不建議你抱著「先打好數學基礎再blabla」的想法,因為你會發現基礎是永遠學不完的。個人推薦直接從你感興趣的「演算法方向」的某本教材或者是survey/review開始學習,如果碰到哪個地方用到你不了解的數學知識,再回頭補相應的基礎,而且只要補到你能繼續往下看的程度即可

準大三計算機專業學生,技術方向是前端,想考研,有這個必要嗎?

閆同學愛王同學 前端怎麼說呢,慢慢的,你肯定還是去後端,聽我乙個師兄說,後端半個月就能掙前端乙個月的錢。說實話,考完研等成績的時候,我還學了一段時間前端,不難,很容易上手,但是需要大量練習,有很多公司都需要大量的前端開發人員,工作應該不難找,除非你想去大廠,那就需要一定的能力了,我是說各個方面的能力...

準大三,計算機專業如何確定工作方向?

merson 感覺怎麼樣啦?我現在也大三了,你和我一樣不喜歡移動開發,喜歡Linux,但是我也不喜歡搞web,想搞硬體但是不懂電路,最後想能走驅動方面試試 逆流的魚elysium 不請自來,狼廠程式猿。樓主既然在實習,應該會清楚,很多時候興趣和工作內容只能是相關,並不會完全匹配。我本人做過前端,做過...

計算機專業大三,自學的前端,html,css,js學的差不多了,就是js框架還沒熟,能出去實習嗎?

行者 建議的話就是把計算機的基礎知識先打紮實,比如說像計算機基礎原理。資料結構演算法。這類的內容學好。接著把js學的紮實一點。另外三大框架中挑乙個去學,就是我建議的話去挑vue。學完vue後去用它去做乙個比較完整的乙個小專案。接著去實習的時候,把你的簡歷和專案帶上。這樣面試官去看你的簡歷的時候,能針...