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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

递归—汉诺塔

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 递归—汉诺塔 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

漢諾塔是經典遞歸問題:相傳在古印度圣廟中,有一種被稱為漢諾塔(Hanoi)的游戲。該游戲是在一塊銅板裝置上,有三根桿(編號A、B、C),在A桿自下而上、由大到小按順序放置64個金盤(如下圖)。游戲的目標:把A桿上的金盤全部移到C桿上,并仍保持原有順序疊好。操作規則:每次只能移動一個盤子,并且在移動過程中三根桿上都始終保持大盤在下,小盤在上,操作過程中盤子可以置于A、B、C任一桿上。

1:如果A只有一個(A->C)
2:如果A有兩個(A->B),(A->C),(B->C)
3:如果A有三個(A->C),(A->B),(C->B),(A->C),(B->A),(B->C),(A->C).
可以發現每增加一步,其中的步驟會多很多。但是不妨這樣想。當有N個要從A->C時,且已知移動方式。使用函數表示move(a->c)。如果要是N 1個該如何想呢。是不是先不看最底下的那個盤子呢,把剩下的N從A移到B上。突然發現最底下還有一個盤子,剛好C為空,把這個最大的放在C上,剩下的就是N個從B移到C的問題了。
再看上面的3:把最上面的盤子從A移到B,在把A 的最大移到C。再把2個盤子從B借助A移到C。
再看上面的2:把最上面的盤子移到B,把最底下移到C,就轉化成B移到C一個盤子的問題了。這種遞歸要從每一步的關系找。把N個問題差成N-1移動和最底下移動的問題。

  • 如果A只有一個(A->C)
  • 如果A有兩個(A->B),(A->C),(B->C)
  • 如果A有三個(A->C),(A->B),(C->B),(A->C),(B->A),(B->C),(A->C).
  • 如果更多,那么將會爆炸式增長。
  • 可以發現每增加一步,其中的步驟會多很多。但是不妨這樣想:

    • 當有1個要從A->C時,且已知移動方式。使用函數表示move(a->c)。同理其他move操作。
    • -------省略中間若干步驟不看,用遞歸思想看問題

    分析:n個從a—>c和n-1個a—>c有什么聯系?(hannuo(n)—>hannuo(n-1)有啥關系)
    假設有n個盤子

    • hannuo(n-1)之后n-1個盤子從A—>C.
    • 此時剩下底下最大的,只能移動到B,move(A,B)
    • 那么你是否發現什么眉目了,只需原先的huannuo(n-1)相同操作從C—>B即可完成轉移到B;那么我們的之前函數應該寫成hannuo(n-1,A,C)但是又用到B,所以把B傳進來hannuo(n-1,A,B,C)先表示為從n-1個從A(借助B執行若干操作)轉到C
    • 這一系列操作使得將n個盤子從A—>B但是我們要的是A—>C才是需要的hannuo(n,A,B,C);那么我們只需要更改下hannuo(n-1,----)順序就好啦!

    代碼如下:

    package 遞歸; public class hannuota {static void move(char a,char b){System.out.println("移動最上層的"+ a+ "到"+ b+ "\t");}static void hannuota(int n,char a,char b,char c)//主要分析每一大步對于下一步需要走的。{if(n==1) {move(a,c);}//從a移到celse{hannuota(n-1,a,c,b);//將n-1個從a借助c移到bmove(a,c); //將第n(最后一個)從a移到c。hannuota(n-1,b,a,c);//再將n-1個從b借助a移到c}}public static void main(String[] args){hannuota(5,'a','b','c');} }

    總結

    以上是生活随笔為你收集整理的递归—汉诺塔的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 无人码人妻一区二区三区免费 | 国产又粗又猛又爽免费视频 | 韩国中文字幕hd久久精品 | 亚洲欧美在线免费 | 99精品在线观看 | 日韩欧美小视频 | 韩国伦理片免费看 | 国产欧美精品久久久 | 中国黄色大片 | 国产精品中文无码 | 国产又粗又黄又爽又硬 | 91l九色lporny| 男人的av | 美国伊人网 | 国产乱淫av片杨贵妃 | 国产日产欧洲无码视频 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 涩涩爱影院| 蜜桃av成人永久免费 | 台湾色综合 | 国产一级片av | 自拍偷拍激情小说 | 欧美亚洲激情视频 | 四虎最新网址在线观看 | 男女视频在线观看免费 | 无码少妇一区二区 | 天天久久综合网 | 美女扒开内裤让男人桶 | 成人a√ | 91亚洲精品视频 | 亚洲精品无码不卡在线播he | 丁香婷婷综合激情 | 性自由色xxxx免费视频 | 97国产超碰 | 自拍偷拍亚洲 | 久久久久久国产精品日本 | 天堂中文字幕av | 亚洲欧美视频在线播放 | 精品一区不卡 | 在线观看免费国产视频 | 青青青在线观看视频 | 午夜福利电影一区二区 | 欧美亚洲欧美 | 奇米第四色在线 | 亚洲精品一区二区三区四区 | 免费在线国产精品 | 日韩精品www | 日韩精品一区二区三区在线视频 | 小泽玛利亚一区二区三区在线观看 | 性高湖久久久久久久久aaaaa | 丰满岳乱妇国产精品一区 | 国产成人精品一区二区三区在线观看 | 四虎影视免费永久观看在线 | 国产精品高潮呻吟av | 激情图片区 | 日韩一区中文 | 国产精品成人aaaaa网站 | 午夜影视av | 久操视频免费在线观看 | 黄色免费播放 | 欧美精品免费看 | 热久久91| 特级西西人体4444xxxx | 国产一区二区三区四区三区四 | 人妻av一区二区三区 | 视频一二区 | 伊人网免费视频 | 久久无码人妻精品一区二区三区 | 一区二区网站 | 国产精品乱码一区 | 欧美14sex性hd摘花 | 自偷自拍亚洲 | 久久不卡影院 | 91看片看淫黄大片 | 少妇人妻精品一区二区三区 | 手机av免费看 | 草草草av| 精品在线免费播放 | 蝌蚪自拍网站 | 欧美男女交配 | 欧美绿帽合集xxxxx | 九色91| 天天舔天天操天天干 | 成人日韩视频 | 国内自拍在线观看 | 91欧美亚洲| 欧美自拍视频在线观看 | 91无毒不卡 | 91精品久久久久久久久 | 日批的视频| 国产老头老太作爱视频 | 国产精品成人免费精品自在线观看 | 亚洲爱爱网 | 黄色靠逼视频 | 先锋影音av资源在线观看 | 国产精品国产三级国产aⅴ9色 | 久操免费在线视频 | 一级黄色美女 | 老司机午夜影院 |