【Java】Java_19遞迴演算法

來源:互聯網
上載者:User

標籤:自身   public   turn   自己   理解   定義   ++   pre   解決問題   

1.遞迴演算法

 A方法調用B方法,我們很容易理解!遞迴就是:A方法調用A方法!就是自己調用自己,因此我們在設計遞迴演算法時,一定要指明什麼時候自己不調用自己。否則,就是個死迴圈!

1.1遞迴演算法要點

遞迴是一種常見的解決問題的方法,即把問題逐漸簡單化。遞迴的基本思想就是“自己調用自己”,一個使用遞迴技術的方法將會直接或者間接的調用自己。

利用遞迴可以用簡單的程式來解決一些複雜的問題。比如:大多數排序使用的就是遞迴演算法。

1.2遞迴結構

遞迴結構包括兩個部分:

    1.    定義遞迴頭。解答:什麼時候不調用自身方法。如果沒有頭,將陷入死迴圈。

    2.    遞迴體。解答:什麼時候需要調用自身方法。

2.代碼示意
package com.oliver.test;
public class TestRecursion { static int a = 0; public static void test01(){ a++; System.out.println("遞迴"+a+"次"); if(a<=10){//遞迴頭 test01(); } else{ //遞迴體 System.out.println("遞迴結束!"); } } public static int test02(int n){ //求階乘! if(n==1){ return 1; } else { return n*test02(n-1); } } public static void main(String[] args) { //調用test01 test01(); int value = test02(3); System.out.println("階乘結果為:"+value); }} 
3.列印結果 

遞迴1次
遞迴2次
遞迴3次
遞迴4次
遞迴5次
遞迴6次
遞迴7次
遞迴8次
遞迴9次
遞迴10次
遞迴11次
遞迴結束!
階乘結果為:6

 

 

【Java】Java_19遞迴演算法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.