學習演算法需要哪些數學知識點?

時間 2021-09-15 18:52:17

1樓:韋捷

以《演算法導論》為例,其實演算法涉及的數學還是挺雜的高等數學

對數與指數函式

無窮數列與無窮級數(學會這個之前需要先學會單變數微積分)上述知識主要用來分析演算法複雜度

離散數學-離散結構

包含各種基礎邏輯,基礎離散結構,以及利用離散結構的建模。

數理邏輯(是下面各個離散數學內容的基礎)

集合函式

矩陣利用上述離散結構的建模

關係各種圖

各種樹上述知識是各種常見資料結構的數學基礎離散數學-數論

整除與同餘

同餘方程

素數與最大公約數

是隨機數生成演算法、雜湊、以及密碼學演算法的基礎離散數學-數學歸納法

可以用來證明演算法的正確性

離散數學-計數

基礎計數

鴿巢原理

二項式排列組合

遞推遞迴

生成函式

上述知識可以是一些遞推問題的數學基礎,比如分治演算法、動態規劃等離散數學-離散概率

經典概率條件概率

貝葉斯期望與方差

離散概率與計數還有高等數學的知識協同工作可以用來估算一些非確定演算法的複雜度,

線性代數

向量與矩陣代數

線性方程組

線性規劃問題的數學基礎,其中矩陣和向量代數是許多其他演算法和資料結構的基礎

有了上邊的知識,就可以學演算法分析了,比如「函式的增長」「演算法複雜度分析」之類的,許多演算法書中都帶了這個章節就不贅述了。

如果你要問哪本書可以覆蓋上面的大部分知識,我推薦這兩本,二選一

做演算法需要哪些數學知識?

摸魚 簡單的演算法對於數學的要求並不是很高,演算法看重的是邏輯思維,解決問題的方式有很多種,就看你能否找到簡單高效的方法,當然這需要大量的練習,熟能生巧這個道理大家誰都懂對吧。如果要往特定的演算法方向走的話,一些數學的知識肯定是不可或缺的。總的來說 數理統計 線性代數 運籌學 最優化.這些還是掌握吧...

學習金融投資需要什麼數學知識

鵬哥哥 基本的加減乘除,失望了吧!投資最需要鍛鍊的是商業常識,還有管住自己的能力。另外非的說數學,那麼請牢記複利計算表,它會告訴你賠率。 Alex 看是哪個階段的投資了,fundamental的投資比如巴菲特和大多其他知名的大佬,基本加減乘除加個乘方就夠了,有的時候要regression去佐證一些。...

研究湍流需要掌握哪些數學知識?

侯維 我覺得差不多了,可以直接開始看pope的turbulent flows,如果流體力學學的不多可以先看panton的incompressible flow 卡卡 我是做計算的,我覺得先從數學看起不太好,還是從流體力學開始看比較好,特別是粘性流體力學,畢竟湍流是乙個流體問題,而不僅僅是一組方程,流...