演算法(一) 數學基礎知識

2021-09-30 16:21:46 字數 2480 閱讀 2854

在開始正式的演算法學習之前,先學一點數學的基礎知識,有助於後面的學習。當然你已經具備這些知識,可以跳過這節內容。本人建議:即使一下內容你都學過,也溫故一下。該數學基礎知識一共包括四個部分,分別是:

級數(用於時間和空間複雜度的計算)離散數學相關知識概率論相關知識線性代數相關知識

這部分內容在高等數學裡的函式極限那章介紹的比較詳細,我就挑我們常用的幾種進行介紹。需要進一步學習的可以去找同濟版高等數學參考學習。

線性性質∑k

=1n(

cak+

bk)=

c∑k=

1nak

+∑k=

1nbk

線性性質可以用來對項中包含漸進記號的和式求和。 ∑k

=1nθ

(f(k

))=θ

(∑k=

1nf(

k))

等式中,左邊的

θ 符號作用於變數

κ

θ 則作用於n。

等差級數∑k

=1nk

=1+2

+⋯+n

=12n

(n+1

)=θ(

n2)

平方和與立方和∑k

=0nk

2=n(

n+1)

(2n+

1)6 ∑k

=0nk

3=n2

(n+1

)24

幾何級數(指數級數) ∑k

=0nx

k=xn

+1−1

x−1

當n趨於無窮大且|x|<1時,上述公式可修改為 ∑k

=0∞x

k=11

−x調和級數hn

=1+1

2+13

+⋯+1

n=∑k

=1n1

k=ln

n+o(

1)級數積分與微分

通過對上面的公式進行積分或微分,可以得到其他新的公式。例如對公式六兩邊同時微分並乘以x,可以得到 ∑k

=0∞k

xk=x

(1−x

)2其中,|x|

<

1 。

裂項級數∑k

=0n−

1ak−

ak+1

=an−

a0乘積lg

(∏k=

1nak

)=∑k

=1nl

gak

集合的幾個相關概念

集合的幾個常見公式

相關概念

注:下面用關係矩陣來解釋一下上面的幾個概念。⎡⎣

⎢⎢⎢⎢

⎢1x⋮

xx1⋮

x⋯⋯⋱

⋯xx⋮

1⎤⎦⎥

⎥⎥⎥⎥

,對角線上全1,該關係是自反的。 ⎡⎣

⎢⎢⎢⎢

⎢0x⋮

xx0⋮

x⋯⋯⋱

⋯xx⋮

0⎤⎦⎥

⎥⎥⎥⎥

,對角線上全0,該關係是反自反的。 ⎡⎣

⎢⎢⎢⎢

⎢xa⋮

bax⋮

c⋯⋯⋱

⋯bc⋮

x⎤⎦⎥

⎥⎥⎥⎥

,關於主對角線對稱,該關係是對稱的(主對角線上元素為任意元素)。 ⎡⎣

⎢⎢⎢⎢

⎢x1⋮

00x⋮

0⋯⋯⋱

⋯01⋮

x⎤⎦⎥

⎥⎥⎥⎥

,若除主對角線之外存在1,則該元素關於主對角線對稱的另乙個元素必為0,則該關係是反對稱的(主對角線上元素為任意元素)。所以空集具有反自反、對稱、反對稱性質。

相關概念

相關概念

寄語:想系統的學習演算法,基礎一定要打好,以上介紹的是最基本的內容。要深入學習演算法,例如貝葉斯,拉普拉斯,傅利葉等要深入了解。不光是數學,如果你要研究nlp,那編譯原理就必須學的很好,其中語法制導、語義分析非常重要。總之計算機的跨學科性很強,時刻學習,才能避免被淘汰。

注:其他部分明天接著寫,爭取這幾天把演算法所需要的基本數學知識介紹完。

1. 自由樹

2. 有根樹和有序樹

3. 二叉樹和位置樹

深度學習(一) 數學基礎

一 線性代數 1 定義深度學習相關的主要線性代數數學模型包括標量 向量 矩陣和張量。2 計算方式 加減法比較簡單,都是點對點加減,形態不變。乘法方式不同可能導致形態變化。如向量可點積 變為乙個值 也可以叉積。二維向量叉積等於 矩陣可以點對點乘積,也可以矩陣乘積 3 範數 l0 l1和l2範數各有不同...

演算法 基礎知識

插入排序法示例 將想要插入的值搜尋找到合適的位置,之前的數值一一向後移動乙個位置,騰出乙個空位置給想要插入的數值。偽 instert sort a for j 2 to a.length key a j i j 1 while i 0 and a i key a i 1 a i i i 1 a i ...

演算法基礎知識

o 1 稱為不變複雜性 1項 1秒 10項 1秒 100個專案 1秒 專案的數量仍然增加10倍,但o 1 的比例因子總是1。o log n 稱為對數複雜度 1項 1秒 10項 2秒 100項 3秒 1000項 4秒 10000項 5秒 計算次數只會增加輸入值的對數。因此,在這種情況下,假定每個計算需...