這一章,就乙個主題,什麼是遞迴式?如何求解遞迴式?
遞迴式,就是乙個函式,自己呼叫自己,但是有乙個最基本的情況,這種情況下,它就會自動返回跳出遞迴。
用什麼方法?
3種方法:
1.代換法
2.遞迴樹方法
3.主方法
關於代換法:
乙個字,猜,也就是你會蒙?
怎麼蒙?
需要你的經驗。
也就是說,有經驗的人,一看就知道多少,然後,用歸納法證明,新手,不推薦。
關於遞迴樹:
最笨的辦法,就是你把那個遞迴式,一項一項展開,可能嗎?對,這裡的展開就是畫這棵樹,使他不能有遞迴表示式,然後把整個圖中的代價加起來就是答案
怎麼使用?
你畫圖算,然後,你用代換法,說是你猜出來的,然後證明,求解。
關於主方法:
針對形如t(n) = at(n/b) + f(n)的遞迴式:
t(n) = at(n/b) + f(n)描述了將規模為n的問題劃分為a個子問題的演算法的執行時間,每個子問題的規模為n/b。
主方法依賴於主定理:
主定理的三種情況,經過分析,可以發現都是把f(n)與
第一種情況是
但是,這三種情況並未完全覆蓋所有可能的f(n):
第一種情況是f(n)多項式的小於
比如演算法導論p44最下面的
至於主定理的證明,這個真不關你任何事情,因為估計你也不會看那些東西,所以我們就不用去花實時間看了。
《演算法導論》第4章 遞迴分析
本章共介紹了3種方法來求解遞迴式的時間複雜度。即猜出tn的複雜度後,代入原來的式子進行檢驗。如 tn 2t n 2 n 中 猜測tn o n lgn 即tn c n lgn 然後證明2t n 2 n c nlgn即可,其中t n 2 c n 2 lg n 2 按式子迭代出一棵樹之後,將每一層的和累加...
工程導論第4章
創造力 於想象力,這也是科學巨人愛因斯坦說 想象力比知識更重要 的原因。傳統上的創造發明,大多來自於人類的需求。所以觀察並掌握人類的生活,工作及娛樂需求,是發明與創造工作最有效的切入點。4.2.1 從洗碗機的發明看需求推動的個體創造力 洗碗的需求 初步的設想 持續的改進 完美的產品開發歷程 1從中得...
演算法導論 第5章
這一章,說來說去,兩件事情,1.概率分析。2.隨機演算法。先把這個僱傭問題拿出來。問題 有一批參與面試的人,你要乙個個面試 面試每個人都要花費c1 如果當前面試者比自己的助理能力強,則辭掉當前助理的,並把當前面試者提拔為助理 僱傭乙個人要花費c2 一直面試完所有人。這裡考慮的是面試所花的money,...