日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构 - 递归

發(fā)布時(shí)間:2025/3/21 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构 - 递归 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

關(guān)注 “弋凡”(YiFan)微信公眾號(hào)吧 記錄簡單筆記 做你的最愛

遞歸介紹

一個(gè)過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法

當(dāng)邊界條件不滿足時(shí),遞歸前進(jìn);當(dāng)邊界條件滿足時(shí),遞歸返回

斐波那契數(shù)列

介紹

斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列、因數(shù)學(xué)家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波那契數(shù)列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)

代碼

public class Recursive {public static void main(String[] args) {// 遞歸 --- 打印斐波那契數(shù)列 1 1 2 3 5 8 13 21 ...前2項(xiàng)數(shù)據(jù)和System.out.println(new Recursive().Fibonacci(6));}// 打印第n項(xiàng)斐波那契數(shù)列數(shù)據(jù)public int Fibonacci(int i){if(i==1 || i==2 ){return 1;}else {return Fibonacci(i-1)+Fibonacci(i-2);}}}

漢諾塔

介紹

漢諾塔:漢諾塔(又稱河內(nèi)塔)問題是源于印度一個(gè)古老傳說的益智玩具。大梵天創(chuàng)造世界的時(shí)候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動(dòng)一個(gè)圓盤。

代碼

public class Recursive {public static void main(String[] args) {HanoiTest.hanoi(3,'A','B','C');} }class HanoiTest{/*** @param n 共有 n 個(gè)盤子* @param from 開始的柱子* @param in 中間的柱子* @param to 目標(biāo)柱子*/public static void hanoi(int n,char from,char in ,char to){// 只有一個(gè)盤子if (n == 1){System.out.println("第1個(gè)盤子從"+from+"移動(dòng)到"+to);}else { // 無論有多少盤子 都認(rèn)為只有2個(gè)盤子,上面的所有盤子和最下面的一個(gè)盤子// 移動(dòng)上面的所有盤子到中間柱子上hanoi(n-1,from,to,in);// 移動(dòng)下面的盤子System.out.println("第"+n+"個(gè)盤子從"+from+"移動(dòng)到"+to);// 把上面的所有盤子從中間位置移動(dòng)到目標(biāo)位置hanoi(n-1,in,from,to);}} }

快來關(guān)注“弋凡”微信公眾號(hào)吧

總結(jié)

以上是生活随笔為你收集整理的数据结构 - 递归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。