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