(一)遞迴
遞迴的四要素:
前進(規模縮小)
邊界條件
返回段自己呼叫自己
//求n的階乘
int fac(int n)
//求1+2+3+…+n
int sum(int n)
由上述**可以看出,遞迴演算法雖然簡單,但具有一定的缺陷,遞迴的次數過多棧幀的大小超過了棧的容量。所以小夥伴們在使用遞迴演算法的時候一定要主意啊!
(二)演算法複雜度
演算法複雜度包括時間複雜度和空間複雜度。
時間複雜度:實現乙個演算法,語句執行的次數和問題規模之間的函式關係,用o()表示;例如o(1)表示常數條語句
規則:1、只保留(最)高階項;
2、不保留係數。
遞迴的時間複雜度:計算呼叫的次數和問題規模的函式關係。
空間複雜度:實現乙個演算法,需要額外的輔助空間和問題規模之間的關係,用o()表示。
好了,今天的分享就到這裡了,下期再見吧!
對於非程式猿來說,我們能用python來做些什麼?
對於學習python的動機,對於專業的程式猿來說,當然是一門手藝。優秀的程式猿年薪百萬,能夠實現財務自由過上理想的生活。但是程式猿也不是所有人都能當的,第一是需要年富力強的腦力和體力 第二是需要經過大量的程式設計的訓練 第三可能還需要一點點的天賦。更何況程式猿工作辛苦,還會有禿頭的風險。所以不是所有...
原創對於新手來說有點「蛋疼」
估計好多新人在學習seo以前,聽到的大多數人講的 seo很好做的,只要會開電腦就行。結果呢?好多人在剛學的時候,總是想在網上多學點有關seo的知識,但是花了幾天時間,認真看了幾個老師的教程,傻眼了 好多人把 zac老師的 seo實戰教學 講成神書,但是在一些新人看來,這些無非是天書。或者說,他在用他...
Docker對於部署來說及其重要
目前的it環境發生了很大的變化,有big server到vm server到docker,一步步的敏捷快速,更加合理的利用硬體資源,分離不同環境帶來的問題,簡化部署。2016過年的這幾天就自學了一下docker,以及在工作中如何實踐這一技術提公升it管理效能。學習的步驟分為5步 了解docker與傳...