分治算法之漢諾塔問題

分治法在每一層遞歸上都有三個(gè)步驟

  1. 分解:將原問題分解為若干個(gè)規(guī)模較小哨苛,相互獨(dú)立蒙揣,與原問題形式相同的子問題
  2. 解決:若子問題規(guī)模較小而容易被解決則直接解決,否則遞歸的解各個(gè)子問題
  3. 合并:將各個(gè)子問題的解合并為原問題的解

漢諾塔問題描述

有三根桿(編號A所袁、B父泳、C),在A桿自下而上窃判、由大到小按順序放置64個(gè)金盤钞楼。游戲的目標(biāo):把A桿上的金盤全部移到C桿上,并仍保持原有順序疊好袄琳。操作規(guī)則:每次只能移動一個(gè)盤子询件,并且在移動過程中三根桿上都始終保持大盤在下燃乍,小盤在上,操作過程中盤子可以置于A宛琅、B刻蟹、C任一桿上。

public class HanoiTower {

  public static void main(String[] args) {

  }

  public static void hanoiTower(int num, char a, char b, char c) {
    if (num == 1) {
      System.out.println("第一個(gè)盤從" + a + "->" + c);
    } else {
      // 如果我們有n>=2情況嘿辟,我們總是可以看做是兩個(gè)盤座咆,1.最下邊的一個(gè)盤 2.上邊所有盤
      // 1.先把最上邊的所有盤A -> B,移動過程會用到c
      hanoiTower(num - 1, a, c, b);
      // 2. 把最下邊的盤A->C
      System.out.println("第" + num + "個(gè)盤從" + a + "->" + c);
      // 3. 把B所有盤從B->C仓洼,移動過程使用A
      hanoiTower(num - 1, b, a, c);
    }
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末介陶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子色建,更是在濱河造成了極大的恐慌哺呜,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件箕戳,死亡現(xiàn)場離奇詭異某残,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)陵吸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門玻墅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人壮虫,你說我怎么就攤上這事澳厢。” “怎么了囚似?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵剩拢,是天一觀的道長。 經(jīng)常有香客問我饶唤,道長徐伐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任募狂,我火速辦了婚禮办素,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘祸穷。我一直安慰自己性穿,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布粱哼。 她就那樣靜靜地躺著季二,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胯舷,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天刻蚯,我揣著相機(jī)與錄音,去河邊找鬼桑嘶。 笑死炊汹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的逃顶。 我是一名探鬼主播讨便,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼以政!你這毒婦竟也來了霸褒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤盈蛮,失蹤者是張志新(化名)和其女友劉穎废菱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抖誉,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殊轴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袒炉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旁理。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖我磁,靈堂內(nèi)的尸體忽然破棺而出孽文,到底是詐尸還是另有隱情,我是刑警寧澤十性,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布叛溢,位于F島的核電站,受9級特大地震影響劲适,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜厢蒜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一霞势、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斑鸦,春花似錦愕贡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春憨琳,著一層夾襖步出監(jiān)牢的瞬間诫钓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工篙螟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留菌湃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓遍略,卻偏偏與公主長得像惧所,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子绪杏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一. 算法介紹: 分治算法下愈,其實(shí)就是把一個(gè)大問題看成若干個(gè)小問題,解決了所有的小問題蕾久,那么大問題就解決了势似,原問題的...
    貪挽懶月閱讀 769評論 0 1
  • 一、分治算法概念 “分而治之”腔彰,就是把一個(gè)復(fù)雜的問題分成兩個(gè)或更多的相同或相似的子問題叫编,再把子問題分成更小的子問...
    愛小花的小乞丐閱讀 1,292評論 4 0
  • 一、分治算法概念 “分而治之”霹抛,就是把一個(gè)復(fù)雜的問題分成兩個(gè)或更多的相同或相似的子問題搓逾,再把子問題分成更小的...
    愛小花的小乞丐閱讀 540評論 0 0
  • ??相傳在古印度圣廟中,有一種被稱為漢諾塔(Hanoi)的游戲杯拐。該游戲是在一塊銅板裝置上霞篡,有三根桿(編號A、B端逼、C...
    雪中夜歸人閱讀 510評論 0 0
  • 一朗兵、遞歸算法介紹 這篇文章講的是一個(gè)古老而又經(jīng)典的漢諾塔問題,他是遞歸算法的一個(gè)很好的應(yīng)用實(shí)例顶滩。有關(guān)遞歸函數(shù)的介紹...
    IT之旅閱讀 1,356評論 0 1