對於程式猿來說,猜妹子的心思好比計算演算法的複雜度!

2021-09-01 12:26:53 字數 586 閱讀 8648

(一)遞迴

遞迴的四要素:

前進(規模縮小)

邊界條件

返回段自己呼叫自己

//求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與傳...