一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - Java使用遞歸法解決漢諾塔問題的代碼示例

Java使用遞歸法解決漢諾塔問題的代碼示例

2020-04-18 12:05goldensun JAVA教程

這篇文章主要介紹了Java使用遞歸法解決漢諾塔問題的代碼示例,漢諾塔問題是使用遞歸解決問題的經(jīng)典范例,用到的算法非常簡單,需要的朋友可以參考下

漢諾(Hanoi)塔問題:古代有一個梵塔,塔內(nèi)有三個座A、B、C,A座上有n個盤子,盤子大小不等,大的在下,小的在上(如圖)。

Java使用遞歸法解決漢諾塔問題的代碼示例

有一個和尚想把這n個盤子從A座移到B座,但每次只能允許移動一個盤子,并且在移動過程中,3個座上的盤子始終保持大盤在下,小盤在上。在移動過程中可以利用B座,要求打印移動的步驟。如果只有一個盤子,則不需要利用B座,直接將盤子從A移動到C。

  • 如果有2個盤子,可以先將盤子1上的盤子2移動到B;將盤子1移動到c;將盤子2移動到c。這說明了:可以借助B將2個盤子從A移動到C,當(dāng)然,也可以借助C將2個盤子從A移動到B。
  • 如果有3個盤子,那么根據(jù)2個盤子的結(jié)論,可以借助c將盤子1上的兩個盤子從A移動到B;將盤子1從A移動到C,A變成空座;借助A座,將B上的兩個盤子移動到C。這說明:可以借助一個空座,將3個盤子從一個座移動到另一個。
  • 如果有4個盤子,那么首先借助空座C,將盤子1上的三個盤子從A移動到B;將盤子1移動到C,A變成空座;借助空座A,將B座上的三個盤子移動到C。

Java代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Hanoi {
  
 public static void main(String[] args) {
  int disk = 3; //盤子
  move(disk, 'A', 'B', 'C');
 }
  
 /*
  * 根據(jù)題意,從上向下編號 => 1 ~ n
  */
 /**
  *
  * @param topN 源塔頂?shù)谋P子編號
  * @param from 從哪個塔移動
  * @param inter 中介,過渡的塔
  * @param to 目的塔
  */
 private static void move(int topN, char from, char inter, char to) {
  if (topN == 1) {
   System.out.println("Disk 1 from " + from + " to " + to);
  } else {
   move(topN - 1, from, to, inter);
   System.out.println("Disk " + topN + " from " + from + " to " + to);
   move(topN - 1, inter, from, to);
  }
 }
   
}

out

?
1
2
3
4
5
6
7
Disk 1 from A to C
Disk 2 from A to B
Disk 1 from C to B
Disk 3 from A to C
Disk 1 from B to A
Disk 2 from B to C
Disk 1 from A to C

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 水蜜桃一二二区视在线 | 青青草原影院 | 久久香蕉国产免费天天 | 国产午夜小视频 | 久久囯产精品777蜜桃传媒 | 成人免费在线视频观看 | 99久久一区二区精品 | 日本无吗免费一二区 | 亚洲咪咪 | 青草国内精品视频在线观看 | 91九色porn偷拍在线 | 男人机机桶女人机机 | 日本高清中文字幕一区二区三区 | 日韩欧免费一区二区三区 | 国产成人8x视频一区二区 | 国产精品久久久精品日日 | 饭冈加奈子黑人解禁在线播放 | 日本人成年视频在线观看 | 2021福利视频| 欧美国产精品 | 久久不射电影网 | 午夜电影三级还珠格格 | 深夜福利免费在线观看 | h视频免费高清在线观看 | 国产午夜亚洲精品不卡 | 滑进了柔佳火热紧夹的 | ai换脸明星专区在线观看 | 国产精品性视频免费播放 | 精品一区二区三区高清免费不卡 | 欧美日韩亚洲另类人人澡 | 青草园网站在线观看 | 免费真实播放国产乱子伦 | 日本捏胸吃奶视频免费 | 久久人妻无码毛片A片麻豆 久久热这里只有 精品 | 青青草国产精品 | 麻豆网站视频国产在线观看 | 大伊香蕉精品视频一区 | 强波多野结衣女教师 | 教师波多野结衣在线播放 | 青春学堂在线观看 | 四虎在线视频免费观看 |