遞迴和迴圈

2021-09-25 03:02:56 字數 739 閱讀 4977

迴圈

迴圈列印整數:

public class test9 

}}

遞迴:直接或者間接呼叫本身

1.遞迴一定要有退出遞迴的條件

2.思維方式:用來解決複雜問題,不需要太多的邏輯問題。「降解」

3.方法執行順序:彈棧和壓棧

4.「降解」執行順序:只處理本身,其他問題交給下乙個人,大任務分解成小任務。

(1)列印不指定整數

public class test9 

public static void test(int n)

}}

弄懂上下兩個**的區別:彈棧和壓棧

public class test9 

public static void test(int n)

system.out.println(n);

}}

(2)列印指定範圍的整數

public class test8

//方法執行順序:彈棧和壓棧

// 大任務分解成為先任務,「降解」過程。

public static void test(int n)

} public static void test2(int n, int m)

}}

遞迴和迴圈

從功能上來說,所有用遞迴實現的都可以用迴圈實現,只不過有時候遞迴實現方便一些,從效率上說,迴圈一般都是大於遞迴的。如果要處理的問題的深度不大,我認為遞迴和迭代的效率差不多。遞迴是消費棧空間,先遞推 壓棧 然後回歸 逐步釋放占用的棧 如果遞迴的深度比較大的話會很消耗記憶體,如果沒有終止條件會導致棧溢位...

遞迴和迴圈

很早之前看到過一段關於遞迴的解釋覺得很nice 今天寫了四道關於遞迴迴圈的題 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39 f n f n 1 f n 2 第一眼看就是遞迴啊,簡直完美的遞迴環境,遞迴肯定很爽,這樣想著關鍵 兩三行就搞定了,注意這題的n是從0...

迴圈和遞迴

改為遞迴的關鍵是發現邏輯的 相似性 不要忘記遞迴的 出口 例子 使用遞迴模擬迴圈 列印0到9 public staitc void main string args 修改 列印0 n public static void f int n 接下來我們實現公升序的遞迴,比如列印0到9,這裡為了更一般化,...