一定要用遞迴嗎?!

2021-10-08 13:46:01 字數 550 閱讀 6469

2017/02/14

今天看資料結構的時候,自己考慮了一下,如何用程式來實現這個函式。

結果我的想法是利用迴圈的方式,而書上使用的方式是利用遞迴,所以就查了查這部分的內容,對比了下迴圈和遞迴的優缺點。

首先,最重要的一點,就是這段函式的**,盡量不使用遞迴。

但是有時候,可能不使用遞迴,就會導致**量急劇上公升,而且可能代價很大,所以說,有必要好好考慮。

我們學習資料結構的時候,經常會提到遞迴,是因為這種方式很利於一些電腦科學中的資料。這樣利於理解,這是很重要的一點。

但是主要一點,遞迴是在函式的基礎上來實現的,具體來講是函式的棧。

我可能還沒遇到過什麼棧的容量不夠的時候,這是一點。

另外一點,那就是,使用函式本身就會減低效率,所以有必要避免。

所以,這只是一些簡單的理解,不過我覺得,利用遞迴應該是更簡單些。

書上有句話,說的挺好,那就是,

這裡的函式,使用了遞迴,簡單的演算法運算彌補了速度上的降低。

所以,有利有弊,還是看自己能力來說吧。

巨集一定要用大寫

被乙個巨集折騰了2次,才偶然發現問題。問題挺隱蔽的,也許是自己對bug出現後的表現,還不太敏感。以前認為巨集需要大寫,可能就是看著舒服,維護方便。經過這個bug後,增加了體會。巨集大寫可以降低除錯的難度,提高 的清晰度。最近維護的linux工程,為了出win版。中不可避免的用巨集隔開,或定義了一些在...

一定要用的 requestBody註解

後端接受前端傳遞的引數相信我們都用過 httpservletrequest的getparameter方法,但是在獲取資料方面都是key,value的方式,像十幾個傳遞的引數可能要在後台寫很多get,set方法來獲取或儲存獲取到的資料,就像這樣 而我們將資料定義在訊息體內,通過requestbody的...

使用父類方法一定要用super嗎(寫給新人)

今天,在群裡有人問 估計是新手 答案,不一定。只有當子類重寫了父類的方法時,如果需要用到父類的方法時,才要用super,表明這個方法時父類的方法不是子類的方法。不理解?上 father類 public class father public void printfonly string str so...