【算法设计与分析】09 递推方程与算法分析
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                【算法设计与分析】09 递推方程与算法分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                關于什么是遞推方程,這里就不再多說了。本文主要講講簡單的遞推方程來求解算法的時間復雜度
 
文章目錄
- 1. 遞推方程的引入
- 1.1 插入排序時間復雜度求解
- 1.2 二分歸并排序時間復雜度求解
 
- 2 總結
 
1. 遞推方程的引入
漢諾塔問題大家都知道,現在以漢諾塔問題來引入遞推方程,可以參考文章離散數學中的數據結構與算法】十 漢諾塔
我們知道漢諾塔的遞歸算法對應的遞推式子為:
T(n) = 2 T(n-1) + 1 ,T(1)=1 上述的式子,即為遞推方程。1.1 插入排序時間復雜度求解
設插入排序的基本運算是元素的比較,對規模為n的輸入,最壞的情況下的時間復雜度為W(n),則可以列出遞推方程式。
W(n) = W(n-1) + n-1 , W(1) = 0很容易求出上述的W(n) = n(n-1) / 2
1.2 二分歸并排序時間復雜度求解
設二分歸并排序的最壞情況下時間復雜度W(n)
則由二分歸并算法得出時間復雜度的式子:
W(n) = 2 * W(n/2) + n - 1,W(1) = 0上述的式子并不是很好求解??梢杂脫Q元法求解(另n = 2k)
然后再根據迭代求解得出W(n)=nlogn?n+1W(n)=n log n - n + 1W(n)=nlogn?n+1
2 總結
學會使用遞推方程來求解算法的時間復雜度,使用各種技巧進行求解。并學會使用數學歸納法對結果進行驗證。
總結
以上是生活随笔為你收集整理的【算法设计与分析】09 递推方程与算法分析的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: js粘贴板为什么获取不到图片信息_【第1
- 下一篇: html引入思源黑体
