02-分治

分治

分治法的基本思想:分治法將一個(gè)難以直接解決的大問(wèn)題分解成一些規(guī)模較小的子問(wèn)題,分別解決各個(gè)子問(wèn)題化戳,再合并子問(wèn)題的解得到原問(wèn)題的解睬澡。

漢諾塔問(wèn)題

相傳在古印度圣廟中,有一種被稱為漢諾塔(Hanoi)的游戲头谜。該游戲是在一塊銅板裝置上,有三根桿(編號(hào)A鸠澈、B柱告、C),在A桿自下而上笑陈、由大到小按順序放置64個(gè)金盤(pán)际度。游戲的目標(biāo):把A桿上的金盤(pán)全部移到C桿上,并仍保持原有順序疊好涵妥。操作規(guī)則:每次只能移動(dòng)一個(gè)盤(pán)子乖菱,并且在移動(dòng)過(guò)程中三根桿上都始終保持大盤(pán)在下,小盤(pán)在上蓬网,操作過(guò)程中盤(pán)子可以置于A窒所、B、C任一桿上帆锋。

public class DivideAndConquer {
    // 漢諾塔問(wèn)題墩新,遞歸
    public static void hanoi(int n, String a, String b, String c) {
        if (n == 1) {
            // 只有一個(gè)盤(pán),則直接從a移動(dòng)到c
            System.out.println("第1個(gè)盤(pán)子移動(dòng):" + a + "-->" + c);
        } else {
            // 1. 以C盤(pán)為中介窟坐,從A桿將1至n-1號(hào)盤(pán)移至B桿
            hanoi(n - 1, a, c, b);
            // 2. 將A桿中剩下的第n號(hào)盤(pán)移至C桿
            System.out.println("第" + n + "個(gè)盤(pán)子移動(dòng):" + a + "-->" + c);
            // 3. 以A桿為中介海渊,從B桿將1至n-1號(hào)盤(pán)移至C桿
            hanoi(n - 1, b, a, c);
        }
    }

    public static void main(String[] args) {
        hanoi(3, "A", "B", "C");
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哲鸳,隨后出現(xiàn)的幾起案子臣疑,更是在濱河造成了極大的恐慌,老刑警劉巖徙菠,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讯沈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡婿奔,警方通過(guò)查閱死者的電腦和手機(jī)缺狠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)问慎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人挤茄,你說(shuō)我怎么就攤上這事如叼。” “怎么了穷劈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵笼恰,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我歇终,道長(zhǎng)社证,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任评凝,我火速辦了婚禮追葡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奕短。我一直安慰自己宜肉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布篡诽。 她就那樣靜靜地躺著崖飘,像睡著了一般榴捡。 火紅的嫁衣襯著肌膚如雪杈女。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天吊圾,我揣著相機(jī)與錄音达椰,去河邊找鬼。 笑死项乒,一個(gè)胖子當(dāng)著我的面吹牛啰劲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播檀何,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蝇裤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了频鉴?” 一聲冷哼從身側(cè)響起栓辜,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垛孔,沒(méi)想到半個(gè)月后藕甩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡周荐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年狭莱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了僵娃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腋妙,死狀恐怖默怨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辉阶,我是刑警寧澤先壕,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站谆甜,受9級(jí)特大地震影響垃僚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜规辱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一谆棺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罕袋,春花似錦改淑、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至榆纽,卻和暖如春仰猖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奈籽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工饥侵, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衣屏。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓躏升,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親狼忱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子膨疏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

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

  • 分治法在每一層遞歸上都有三個(gè)步驟 分解:將原問(wèn)題分解為若干個(gè)規(guī)模較小,相互獨(dú)立钻弄,與原問(wèn)題形式相同的子問(wèn)題 解決:若...
    粑粑八成閱讀 128評(píng)論 0 0
  • 分治問(wèn)題佃却,個(gè)人感覺(jué)叫分解問(wèn)題更容易記憶核心,即把難以解決的大問(wèn)題分成若干個(gè)小問(wèn)題斧蜕。在這里双霍,將大問(wèn)題分解為小問(wèn)題是本...
    ZMRWEGo閱讀 464評(píng)論 0 0
  • 前言 相信學(xué)過(guò)《數(shù)據(jù)結(jié)構(gòu)與算法》這門(mén)課程的同學(xué)都有聽(tīng)過(guò)漢諾塔問(wèn)題,但是可能在大學(xué)的時(shí)候沒(méi)有鉆研過(guò),或者在學(xué)的時(shí)候就...
    鄭土強(qiáng)ztq閱讀 2,950評(píng)論 2 3
  • 一洒闸、遞歸算法介紹 這篇文章講的是一個(gè)古老而又經(jīng)典的漢諾塔問(wèn)題染坯,他是遞歸算法的一個(gè)很好的應(yīng)用實(shí)例。有關(guān)遞歸函數(shù)的介紹...
    IT之旅閱讀 1,356評(píng)論 0 1
  • To iterate is human, to recurse, divine.人理解迭代丘逸,神理解遞歸单鹿。 什么是遞...
    周闖閱讀 549評(píng)論 0 0