摘要:遞歸方法自己調(diào)用自己遞歸的分類遞歸分為兩種,直接遞歸和間接遞歸。注意事項(xiàng)遞歸一定要有條件限定,保證遞歸能夠停止下來,否則會(huì)發(fā)生棧內(nèi)存溢出。在遞歸中雖然有限定條件,但是遞歸次數(shù)不能太多。
package com.itheima.demo02.Recursion;
/*
遞歸:方法自己調(diào)用自己 - 遞歸的分類: - 遞歸分為兩種,直接遞歸和間接遞歸。 - 直接遞歸稱為方法自身調(diào)用自己。 - 間接遞歸可以A方法調(diào)用B方法,B方法調(diào)用C方法,C方法調(diào)用A方法。 - 注意事項(xiàng): - 遞歸一定要有條件限定,保證遞歸能夠停止下來,否則會(huì)發(fā)生棧內(nèi)存溢出。 - 在遞歸中雖然有限定條件,但是遞歸次數(shù)不能太多。否則也會(huì)發(fā)生棧內(nèi)存溢出。 - 構(gòu)造方法,禁止遞歸 遞歸的使用前提: 當(dāng)調(diào)用方法的時(shí)候,方法的主體不變,每次調(diào)用方法的參數(shù)不同,可以使用遞歸
*/
public class Demo01Recurison {
public static void main(String[] args) { //a(); b(1); } /* 構(gòu)造方法,禁止遞歸 編譯報(bào)錯(cuò):構(gòu)造方法是創(chuàng)建對(duì)象使用的,一直遞歸會(huì)導(dǎo)致內(nèi)存中有無數(shù)多個(gè)對(duì)象,直接編譯報(bào)錯(cuò) */ public Demo01Recurison() { //Demo01Recurison(); } /* 在遞歸中雖然有限定條件,但是遞歸次數(shù)不能太多。否則也會(huì)發(fā)生棧內(nèi)存溢出。 11157 Exception in thread "main" java.lang.StackOverflowError */ private static void b(int i) { System.out.println(i); if(i==20000){ return; //結(jié)束方法 } b(++i); } /* 遞歸一定要有條件限定,保證遞歸能夠停止下來,否則會(huì)發(fā)生棧內(nèi)存溢出。 Exception in thread "main" java.lang.StackOverflowError */ private static void a() { System.out.println("a方法!"); a(); }
}
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/76039.html
馬上就要開始啦這次共組織15個(gè)組隊(duì)學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識(shí)到動(dòng)手實(shí)踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...
摘要:在中實(shí)現(xiàn)機(jī)器學(xué)習(xí)功能的種方法來源愿碼內(nèi)容編輯愿碼連接每個(gè)程序員的故事網(wǎng)站愿碼愿景打造全學(xué)科系統(tǒng)免費(fèi)課程,助力小白用戶初級(jí)工程師成本免費(fèi)系統(tǒng)學(xué)習(xí)低成本進(jìn)階,幫助一線資深工程師成長(zhǎng)并利用自身優(yōu)勢(shì)創(chuàng)造睡后收入。 在Python中實(shí)現(xiàn)機(jī)器學(xué)習(xí)功能的4種方法 showImg(https://segmentfault.com/img/remote/1460000018849605); 來源 | ...
摘要:圖是構(gòu)成網(wǎng)頁的超文本標(biāo)記語言中的標(biāo)簽相互關(guān)聯(lián)關(guān)系所構(gòu)成的樹。節(jié)點(diǎn)節(jié)點(diǎn)是樹的基本構(gòu)成部分。子樹子樹是一個(gè)父節(jié)點(diǎn)的某個(gè)子節(jié)點(diǎn)的所有邊和后代節(jié)點(diǎn)所構(gòu)成的集合。高度樹的高度等于所有節(jié)點(diǎn)的層數(shù)的最大值。每個(gè)子樹的根節(jié)點(diǎn)和其父樹的根節(jié)點(diǎn)之間通過邊相連。 樹的例子 我們已經(jīng)學(xué)過了像棧和隊(duì)列這樣的線性數(shù)據(jù)結(jié)構(gòu),同時(shí)我們對(duì)遞歸也有了一定的了解,現(xiàn)在讓我們來看看另一種常見的數(shù)據(jù)結(jié)構(gòu)——樹(Tree)。樹在...
摘要:二項(xiàng)目中用到的幾個(gè)經(jīng)典的遞歸求的和分析假設(shè)遞歸函數(shù)已經(jīng)寫好為,即,就是求的和。遞歸函數(shù)實(shí)現(xiàn)每天凌晨定時(shí)啟動(dòng)定時(shí)器執(zhí)行代碼分析假設(shè)遞歸函數(shù)已經(jīng)寫好了。 一、遞歸的概念 在程序中函數(shù)直接或者間接調(diào)用自身的一種方法,就叫做遞歸。它通常把一個(gè)大型復(fù)雜的問題轉(zhuǎn)化為一個(gè)與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程中所需要的多次重復(fù)計(jì)算,大大減少了程序的代碼了。 二、...
閱讀 2111·2023-04-25 23:30
閱讀 1528·2021-11-24 10:18
閱讀 3153·2021-10-09 09:54
閱讀 2095·2021-10-08 10:05
閱讀 3514·2021-09-23 11:21
閱讀 3233·2019-08-30 15:52
閱讀 1632·2019-08-30 13:05
閱讀 1120·2019-08-30 13:02