1. 程式人生 > ><資料結構與演算法分析>讀書筆記--數學知識複習

<資料結構與演算法分析>讀書筆記--數學知識複習

數學知識複習是《資料結構與演算法分析》的第一章引論的第二小節,之所以放在後面,是因為我對數學確實有些恐懼感。不過再怎麼恐懼也是要面對的。

 

一、指數

基本公式:

 

 二、對數

在電腦科學中除非有特別的宣告,否則所有的對數都是以2為底的。

定義:XA=B 當且僅當logxB=A。

由該定義可以推出幾個方便的等式。

定理1:

logaB=logcB/logcA; A,B,C>0,A不等於1

 

定理2:

logAB=logA+logB;A,B大於0

 

三、級數

最容易記憶的公式:

 

四、模運算

如果N整除A-B,那麼就說A與B模N同餘,記為A===B(mod N)。直觀地看,這意味著無論是A還是B被N去除,所得餘數都是相同的。於是,81===61====1(mod 10)。如同等號的情況一樣,若A===B(mod N),則A+C====B+C(mode N)以及AD===BD(mod N)

 

五、證明方法

證明資料結構分析中的結論的兩種最常用的方法是歸納法證明和反證法證明。證明一個定理不成立的最好的方法是舉出一個反例。

1.歸納法證明

由歸納法進行的證明有兩個標準的部分。第一步是證明基準情形,就是確定定理對某個小的值的正確性;這一步總是很簡單。接著,進行歸納假設。一般說來,它指的是假設定理對直到某個有限數k的所有的情況都是成立的。然後使用這個假設證明定理對下一個值(通常是k+1)也是成立的。至此定理得證(在k是有限的情形下)。

 

2.反證法證明

反證法證明是通過假設定理不成立,然後證明該假設導致某個已知的性質不成立,從而原假設是錯誤的。一個經典的例子是證明存在無窮多個素數。為了證明這個結論,我們假設定理不成立。於是,存在某個最大的素數Pk。令P1,P2,....,Pk是依序排列的所有素數並考慮:

N=P1P2P3..Pk+1

顯然,N是比Pk大的數,根據假設N不是素數。可是,P1,P2,....,Pk都不能整除N,因為除得的結果總有餘數1.這就產生一個矛盾,因為每個整數或者是素數,或者是素數的乘積。

因此,Pk是最大素數的原假設是不成立的,這正意味著定理成立。

 

未完待續,接下來我要看相關的學習視訊,接下來會有補充的。