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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python递归面试题_汉诺塔问题其实很简单 Python 递归经典面试题

發(fā)布時間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python递归面试题_汉诺塔问题其实很简单 Python 递归经典面试题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

話不多說,上代碼

1 def hanoi_move(n, source, dest, intermediate):

2 if n >= 1: # 遞歸出口,只剩一個盤子

3 hanoi_move(n-1, source, intermediate, dest)

4 print("Move %s -> %s" % (source, dest))

5 hanoi_move(n-1, intermediate, dest, source)

首先我們這里有三根桿子依次排放,分別是 源桿、媒介桿、目標桿 對應 代碼的 source、dest、intermediate,源桿上有n塊大餅

我們定義一個函數(shù) def hanoi(n,源桿,目標桿,媒介桿):# 意思是源桿 借助 媒介桿 到 目標桿

我們假設除了底下最后一層上面的n-1層都已經(jīng)擺放好了,即源桿上目前只有兩塊大餅,我們要執(zhí)行的操作是:

源桿上的n-1層 借助 目標桿 到 媒介桿 等同于 hanoi(n-1,源桿,媒介桿,目標桿)相當于n-1層在媒介桿上了

打印 源桿 到 目標桿 顯示路徑

再把媒介桿的n-1層 借助 源桿 到 目標桿 等同于 hanoi(n-1,媒介桿,目標桿,源桿)

再來說說為什么假設n-1層的,因為我們在假設n-1層的時候使用了遞歸,在hanoi(n-1…)的時候我們就是假設n-2層已經(jīng)擺放好了,然后就是在hanoi(n-2…)的時候我們假設n-3層已經(jīng)擺放好了,不斷回溯,就到了最上面一層已經(jīng)擺放好了,這個假設是合理的,既可以使用該方法。使用了遞歸的回溯思想,如果使用遞歸思想不斷地推出他的步驟那基本是不可能的,然而通過前提不斷地假設反而更容易拿到結果。

總結

以上是生活随笔為你收集整理的python递归面试题_汉诺塔问题其实很简单 Python 递归经典面试题的全部內容,希望文章能夠幫你解決所遇到的問題。

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