數學歸納法在資料結構與演算法分析設計中的應用
阿新 • • 發佈:2018-12-31
最簡單和常見的數學歸納法是證明當n等於任意一個自然數時某命題成立。證明分下面兩步:
- 證明當 n= 1 時命題成立。
- 假設 n=m 時命題成立,那麼可以推匯出在 n=m+1 時命題也成立。(m代表任意自然數)
1. 圖
設
G=(V, E)
為一個有向圖或無向圖,假定 BFS 以給定結點s∈V 作為源節點在圖 G 上執行。則在 BFS 終結時,對於每個結點v∈V ,BFS 計算得到的v.d 滿足v.d≥δ(s,v) (δ(s,v) :s 到v 的最短路徑,v.d :以 BFS 的方式從源點出發到v 之間的距離)。以數學歸納法的方式進行證明,此外還需理解的細節即是,BFS 的方式需藉助先進先出的佇列,其最核心的兩個操作,enqueue 與 dequeue。我們的歸納假設是:對於所有的結點
v ,v.d≥δ(s,v) enqueue(G, u),從結點 u 進行鄰接表搜尋時發現了結點 v(u 可以到 v,根據三角不等式性,
δ(s,v)≤δ(s,u)+1 ),根據歸納法假設有u.d≥δ(s,u) ,根據符號.d 的定義知,v.d=u.d+1 ,因此:v.d=u.d+1≥δ(s,u)+1≥δ(s,v) 證明:任意連通無向圖
G=(V,E) 滿足|E|≥|V|−1 - 當只有一個頂點時,
|E|=0,|V|=1 ,顯然成立; - 因為是連通的,故取出一個頂點(
|V′|=|V|−1 ),以及與之相連的邊(不只一個|E|≥1+|E′| ),構成一個新的子圖G′=(V′,E′) ,根據數學歸納法,則有:
- 當只有一個頂點時,