JAVA漢諾塔遞迴 之SpringCloud企業分散式微服務雲架構快速開發平臺
JAVA漢諾塔遞迴
目標:將A上的圓盤移動到目標塔C上。
需要框架原始碼的朋友可以看我個人簡介聯絡我。
思路:
①首先將A上的n-1移動到B上,由C作為輔助;(剩下一個最大的盤子在A上)
②將A上的盤子移動到目標塔C上;(此時最大的盤子到達目標位置)
③將B上n-1個盤子依次移動到C上,由A作為輔助;(這個過程和①②一樣只不過源塔是B目標依然是C,由此可以發現漢諾塔問題是一個典型的遞迴問題)
例:n = 3時移動
A->C 首先將A上的n-1移動到B上,由C作為輔助
A->B
C->A
A->C 最大的盤子到目標塔C
B->A 此時最大的盤子到達C塔,只需要將B上n-1個盤
B->C 子依次挪動到C上即可,A最為輔助
A->C
實現程式碼:
public class Homework { public static void main(String[] args) { char A = 'A',B = 'B',C = 'C'; hanoiTower(3,A,B,C); } public static void hanoiTower(int nDisks,char A,char B,char C) { if (nDisks == 1) { // A -> C move(nDisks,A,C); return; } // nDisks > 1時 // 1.先將n - 1個盤子從A -> B ,C作為輔助 hanoiTower(nDisks - 1,A,C,B); // 2.此時最大的盤子在A上,C為空,n - 1都在B上 move(nDisks,A,C); // 3.只需將n - 1個盤子再從B -> C,A作為輔助 hanoiTower(nDisks - 1,B,A,C); } // 將編號為n的盤子,從souce -> dist public static void move(int nDisks, char sourceTower, char distTower) { System.out.println("編號為"+nDisks+"的盤子從"+sourceTower+"->"+distTower); } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2844034/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【分散式微服務企業快速架構】SpringCloud分散式、微服務、雲架構快速開發平臺分散式微服務架構SpringGCCloud
- SpringCloud企業分散式微服務雲架構快速開發平臺原始碼SpringGCCloud分散式微服務架構原始碼
- 企業分散式微服務雲架構快速開發平臺原始碼分散式微服務架構原始碼
- 11.Spring Cloud 分散式、微服務、雲架構企業快速開發架構之Linux 磁碟管理SpringCloud分散式微服務架構Linux
- 遞迴-*漢諾塔遞迴
- springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- 7.Spring Cloud 分散式、微服務、雲架構企業快速開發架構之Linux 遠端登入SpringCloud分散式微服務架構Linux
- 漢諾塔和遞迴遞迴
- springcloud微服務分散式雲架構簡介SpringGCCloud微服務分散式架構
- 8.Spring Cloud 分散式、微服務、雲架構企業快速開發架構之Linux 檔案基本屬性SpringCloud分散式微服務架構Linux
- (一)springcloud微服務分散式雲架構-SpringCloud簡介SpringGCCloud微服務分散式架構
- J2EE企業分散式微服務雲快速開發架構分散式微服務架構
- SpringCloud分散式、微服務、雲架構快速開發平臺原始碼之CAS SSO單點登入客戶端環境搭建SpringGCCloud分散式微服務架構原始碼客戶端
- 9.Spring Cloud 分散式、微服務、雲架構企業快速開發架構之Linux 檔案與目錄管理SpringCloud分散式微服務架構Linux
- 關於SpringCloud大型網際網路分散式企業微服務雲架構SpringGCCloud分散式微服務架構
- 三十三、java版 SpringCloud分散式微服務雲架構之Java HashSetJavaSpringGCCloud分散式微服務架構
- java版 SpringCloud分散式微服務雲架構之Java Iterator(迭代器)JavaSpringGCCloud分散式微服務架構
- 課時24:遞迴:漢諾塔遞迴
- 遞迴求解漢諾塔問題遞迴
- 10.Spring Cloud 分散式、微服務、雲架構企業快速開發架構之Linux 使用者和使用者組SpringCloud分散式微服務架構Linux
- spring cloud微服務分散式雲架構- Config 快速開始SpringCloud微服務分散式架構
- 4、【創業必備企業架構】SpringCloud大型企業分散式微服務雲架構原始碼之MySQL 連線創業架構SpringGCCloud分散式微服務原始碼MySql
- 打造企業級微服務平臺架構,分散式應用場景管理微服務架構分散式
- 從漢諾塔遊戲理解python遞迴函式遊戲Python遞迴函式
- (三)springcloud微服務分散式雲架構-SpringCloud整合專案簡介SpringGCCloud微服務分散式架構
- 三十四、java版 SpringCloud分散式微服務雲架構之Java Iterator(迭代器)JavaSpringGCCloud分散式微服務架構
- 二十四、java版 SpringCloud分散式微服務雲架構之 Java 抽象類JavaSpringGCCloud分散式微服務架構抽象
- 三、java版 SpringCloud分散式微服務雲架構之Java 基礎語法JavaSpringGCCloud分散式微服務架構
- 二十九、java版 SpringCloud分散式微服務雲架構之Java 資料結構JavaSpringGCCloud分散式微服務架構資料結構
- java Spring Cloud企業快速開發架構之SpringCloud-Spring Cloud EurekaJavaSpringCloud架構GC
- 25、【創業必備企業架構】SpringCloud分散式微服務雲架構原始碼之MySQL 匯出資料創業架構SpringGCCloud分散式微服務原始碼MySql
- 用友雲服務治理平臺 助力企業微服務架構落地微服務架構
- Spring Cloud雲服務架構 - 企業分散式微服務雲架構構建SpringCloud架構分散式微服務
- SpringCloud大型企業分散式微服務雲架構原始碼之【資料結構】-排序-希爾排序SpringGCCloud分散式微服務架構原始碼資料結構排序
- Spring Cloud微服務分散式雲架構 - 整合企業架構的技術點SpringCloud微服務分散式架構
- 分散式微服務雲架構構建電子商務平臺分散式微服務架構
- SpringCloud大型企業分散式微服務雲架構原始碼之Springboot 重點知識點整理GCCloud分散式微服務架構原始碼Spring Boot
- 整合spring cloud雲服務架構 - 企業分散式微服務雲架構構建SpringCloud架構分散式微服務