最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java遞歸算法實(shí)例分析

 更新時間:2017年12月12日 09:02:06   作者:街燈下的小草  
這篇文章主要介紹了java遞歸算法實(shí)例分析,具有一定借鑒價值,需要的朋友可以參考下。

遞歸算法設(shè)計(jì)的基本思想是:

對于一個復(fù)雜的問題,把原問題分解為若干個相對簡單類同的子問題,繼續(xù)下去直到子問題簡單到能夠直接求解,也就是說到了遞推的出口,這樣原問題就有遞推得解。

在做遞歸算法的時候,一定要把握住出口,也就是做遞歸算法必須要有一個明確的遞歸結(jié)束條件。這一點(diǎn)是非常重要的。其實(shí)這個出口是非常好理解的,就是一個條件,當(dāng)滿足了這個條件的時候我們就不再遞歸了。

關(guān)鍵要抓住的是:

(1)遞歸出口

(2)地推逐步向出口逼近

遞歸就是方法自身調(diào)用自身的行為,注意要寫好遞歸頭,也就是什么時候退出遞歸,

避免出現(xiàn)死循環(huán)。

實(shí)例1,通過遞歸打印1~100

package com.lanhuigu.base;
public class CursionTest {
	private static int i = 0;
	/** 
   * 遞歸打印1到100 
   */
	public static void testCursion01() {
		i++;
		// 自增 
		if (i <= 100) {
			// 小于等于100時回調(diào),否則跳出回調(diào),避免死循環(huán) 
			System.out.println(i);
			testCursion01();
			// 回調(diào): 自身調(diào)用自身
		} else {
			System.out.println("Game Over!");
		}
	}
	public static void main(String[] args) {
		testCursion01();
		// 打印1~100
	}
}

實(shí)例2,通過遞歸計(jì)算某個數(shù)的階乘

package com.lanhuigu.base;
public class CursionTest {
	/** 
   * 遞歸計(jì)算某個數(shù)的階乘 
   */
	public static int testFactorial(int n) {
		if (n == 1) {
			return 1;
		} else {
			return n*testFactorial(n-1);
		}
	}
	public static void main(String[] args) {
		System.out.println(testFactorial(5));
		// 計(jì)算5的階乘
	}
}

關(guān)于遞歸計(jì)算階乘,遞歸內(nèi)存分析結(jié)構(gòu)圖:

先放長線,最后收線,然后把魚拉上岸。

總結(jié)

以上就是本文關(guān)于java遞歸算法實(shí)例分析的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • 一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

    一篇超詳細(xì)的SpringBoot整合MybatisPlus的文章

    這篇文章主要介紹了springboot整合Mybatis-plus的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Eclipse?2022?設(shè)置中文漢化的超詳細(xì)圖文教程

    Eclipse?2022?設(shè)置中文漢化的超詳細(xì)圖文教程

    這篇文章主要介紹了Eclipse?2022?設(shè)置中文漢化的超詳細(xì)圖文教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    HTTP/HTTPS是最常見的協(xié)議套件之一,并且隨著智能手機(jī)的成功,它的應(yīng)用也日益廣泛,因?yàn)閷τ谌魏喂緛碚f,擁有一個可以被移動設(shè)備訪問的網(wǎng)站幾乎是必須的。下面就來看看如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序
    2021-06-06
  • Java用數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列的示例

    Java用數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列的示例

    下面小編就為大家?guī)硪黄狫ava用數(shù)組實(shí)現(xiàn)循環(huán)隊(duì)列的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • MybatisPlus開啟、關(guān)閉二級緩存方法

    MybatisPlus開啟、關(guān)閉二級緩存方法

    本文主要介紹了MybatisPlus開啟、關(guān)閉二級緩存方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java使用cookie顯示最近查看過的書

    Java使用cookie顯示最近查看過的書

    這篇文章主要為大家詳細(xì)介紹了Java使用cookie顯示最近查看過的書,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JSON的String字符串與Java的List列表對象的相互轉(zhuǎn)換

    JSON的String字符串與Java的List列表對象的相互轉(zhuǎn)換

    這篇文章主要介紹了JSON的String字符串與Java的List列表對象的相互轉(zhuǎn)換,如果在瀏覽器端JSON是list則轉(zhuǎn)為string結(jié)構(gòu)來處理,需要的朋友可以參考下
    2016-04-04
  • EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例

    EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例

    這篇文章主要介紹了EVCache緩存在Spring Boot中的實(shí)戰(zhàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 徹底理解Java中的ThreadLocal

    徹底理解Java中的ThreadLocal

     ThreadLocal翻譯成中文比較準(zhǔn)確的叫法應(yīng)該是:線程局部變量。使用這個工具類可以很簡潔地編寫出優(yōu)美的多線程程序。 接下來通過本文給大家介紹Java中的ThreadLocal,需要的朋友可以參考下
    2017-03-03
  • Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例

    Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例

    這篇文章主要介紹了Spring Cloud Alibaba 使用 Feign+Sentinel 完成熔斷的示例,幫助大家更好的理解和學(xué)習(xí)使用Spring Cloud,感興趣的朋友可以了解下
    2021-03-03

最新評論

棋牌| 丹东市| 乐清市| 大悟县| 吉隆县| 遵义县| 贡山| 曲麻莱县| 天峨县| 铜山县| 册亨县| 民县| 邯郸县| 潮州市| 桦甸市| 龙陵县| 运城市| 电白县| 个旧市| 垣曲县| 额尔古纳市| 五常市| 吴江市| 濮阳市| 那坡县| 确山县| 五华县| 长寿区| 昂仁县| 衡山县| 三都| 东港市| 疏勒县| 桑植县| 铜川市| 时尚| 保德县| 天镇县| 惠州市| 内丘县| 黄骅市|